C# 找不到OdbcConnection数据名和数据源

C# 找不到OdbcConnection数据名和数据源,c#,mysql,asp.net,odbc,datasource,C#,Mysql,Asp.net,Odbc,Datasource,我正在使用ASP.net创建一个web应用程序。我使用OdbcConnection连接到MySQL。但它似乎创建了对象,但没有填充datasource和dataname字段。我犯了一个著名的错误 [IM002][Microsoft][ODBC驱动程序管理器]未找到数据源名称,也未指定默认驱动程序 以下是我的代码失败: OdbcConnection MyConnection; string MyConString = "DRIVER={MySQL ODBC 5.1 Driver};" + "SER

我正在使用ASP.net创建一个web应用程序。我使用
OdbcConnection
连接到
MySQL
。但它似乎创建了对象,但没有填充datasource和dataname字段。我犯了一个著名的错误

[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中的connectionstring:

<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>
我是这样读的:

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();
...
}

连接字符串必须包含以下提供程序和数据源:

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

您在
web.config
文件中的连接字符串中有一些拼写错误。它应该是
Driver
而不是
Driver
Pwd
而不是
Pwd
Uid
而不是
Uid
,等等。 请将您的代码更改为下面的代码

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

我在这里找到了问题的答案: 基本上,您必须查找机器上安装的64位和32位之间的差异。默认情况下,VS正在查找32。在ODBC源代码管理器中,它显示64。
因此,您可以将项目配置为查找64或安装32位版本的MySQL ODBC。

您缺少
providerName=“System.Data.ODBC”
I js但尝试了此操作,它没有改变任何内容。
web.config
中的连接字符串与代码中的连接字符串不同。。这是因为您想连接到不同的数据库吗?为什么不使用
ConfigurationManager
classI来阅读它呢?实际上,我尝试了两种方法,甚至在我的对象Myconnection中,它允许数据库、数据源和驱动器中的空字段。您引用的源文件是什么?我引用的是数据源文件的完整路径,比如“C:\myDatabase.accdb”我不使用microsoft Access您使用的任何东西:问题只是您的连接字符串。因为它需要可移植。我别无选择。我知道,它正在使用MySQL连接。但我不允许选择使用此选项。谢谢,但我使用的不是SQL Server,而是ODBC连接编辑:我仍然使用您的拼写,但是仍然存在bug代码只是一个示例,请根据您的要求修改它,直到没有任何更改。您可以更新您的代码,并向我们展示如何从
web.config
文件中读取
连接字符串
您不需要
()
周围的
提供者名称=(System.Data.Odbc)
Driver={SQL Server};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;