【问题标题】:problem connecting to mysql from vs2010从 vs2010 连接到 mysql 的问题
【发布时间】:2011-05-01 22:17:32
【问题描述】:

我正在尝试在 vs2010 中使用 c# 连接到 mysql。我从 mysql 站点安装了 .net 连接器的 6.3.5 版本。我尝试使用以下连接字符串 -

<add name="mySql" connectionString="Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" providerName="System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

我收到以下错误 -

An OLE DB Provider was not specified in the ConnectionString.  An example would be, 'Provider=SQLOLEDB;'.

然后我将连接字符串更改为 -

<add name="mySqlTarget" connectionString="Provider=MySQLProv;Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" providerName="System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

并得到以下错误 -

The 'MySQLProv' provider is not registered on the local machine.

有人知道为什么会这样吗?

感谢您的任何想法。

【问题讨论】:

    标签: c# mysql connection-string


    【解决方案1】:

    看看http://www.connectionstrings.com/mysql。但是,您不应该通过 OLEDB 提供程序。尝试类似:

    <add name="mySql"
         connectionString="Server=localhost;Database=mydb;Uid=User;Pwd=mypass;" 
         providerName="MySql.Data.MySqlClient"/>
    

    【讨论】:

    • 是的 - 这就是我最终的结果。当我应该使用 mysql 连接器时,我把我的连接弄混了,并试图使用 oledb。谢谢
    • MySQL .NET 连接器据说是一个 OLE DB 提供程序,所以它应该可以使用它。这种方法似乎更好,因为当您想使用其他一些符合 OLE DB 的数据库时,您不必重新编译您的 .NET 代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 1970-01-01
    • 2020-07-22
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多