找不到OdbcConnection DataName和DataSource

时间:2014-10-29 08:48:40

标签: c# mysql asp.net odbc datasource

我正在使用ASP.net来创建一个Web应用程序。我使用OdbcConnection连接到MySQL。但它似乎创建了对象,但它没有填满数据源和数据名称字段。我有着名的错误

  

[IM002] [Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

这是我的代码失败:

OdbcConnection MyConnection;
string MyConString = "DRIVER={MySQL ODBC 5.1 Driver};" + "SERVER=localhost;" + "DATABASE=test;" + "UID=debug_user;" + "PASSWORD=password;" + "OPTION=3";
MyConnection = new OdbcConnection(MyConString);
MyConnection.Open();

我还在web.config中使用了一个连接字符串:

<connectionStrings>
<add name="UTRN_DB_ConnectionString" connectionString="DRIVER={MySQL ODBC 5.1 Driver};Database=cjr_db;Server=localhost;UID=cjr_db_user;PWD=password;"/>
</connectionStrings>

我的数据源管理员在MySQL设置了驱动程序。我卸载并重新安装所有内容。我一直收到这个错误。我只是不明白为什么我会在连接字符串中指定所有内容(端口等等)时出现此错误并且它仍然失败

编辑: 这是我的web.config

<connectionStrings>
<add name="UTRN_DB_ConnectionString" connectionString="Driver={MySQL ODBC 5.1 Driver};Database=cjr_db;Server=localhost;Uid=cjr_db_user;Pwd=password;providerName=(System.Data.Odbc)"/>
</connectionStrings>

这就是我读它的方式:

string conString = WebConfigurationManager.ConnectionStrings["UTRN_DB_ConnectionString"].ConnectionString;
string conString2 = ConfigurationManager.ConnectionStrings["UTRN_DB_ConnectionString"].ConnectionString;
using (OdbcConnection connection = new System.Data.Odbc.OdbcConnection(conString2))
{
connection.Open();
...
}

3 个答案:

答案 0 :(得分:0)

连接字符串必须包含Provider和Data Source:

string MyConString = "Provider=(Data Provider);Data Source=(Path of source file)"

答案 1 :(得分:0)

web.config文件中的连接字符串中存在拼写错误。它应该是Driver而不是DRIVERPwd而不是PWDUid而不是UID,依此类推。 请将您的代码更改为下面的代码

Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;

答案 2 :(得分:0)

我在这里找到了问题的答案: tadaaaam 基本上,您必须寻找机器上安装的64位和32位的差异。默认情况下,VS正在寻找32.并且在ODBC Sources Manager中它会显示64。 因此,您要么将项目配置为寻找64 OR 安装32位版本的MySQL ODBC。