我正在使用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();
...
}
答案 0 :(得分:0)
连接字符串必须包含Provider和Data Source:
string MyConString = "Provider=(Data Provider);Data Source=(Path of source file)"
答案 1 :(得分:0)
web.config
文件中的连接字符串中存在拼写错误。它应该是Driver
而不是DRIVER
,Pwd
而不是PWD
,Uid
而不是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。