C# 代码连接到 localhost 中的 mysql。供应商错了吗?

Posted

技术标签:

【中文标题】C# 代码连接到 localhost 中的 mysql。供应商错了吗?【英文标题】:C# code connection to mysql in localhost. Is provider wrong? 【发布时间】:2013-10-17 13:56:59 【问题描述】:

我已经安装了 mysql 连接器 6.7.4 并且代码中已经添加了以下参考

using MySql.Data.MySqlClient;

我正在使用这个字符串连接数据库

string connStr = ("Provider = MySQLProv; SERVER =localhost; DATABASE=test;User ID=root;Password=");
OdbcConnection conn1 = new OdbcConnection();
conn1.ConnectionString = connStr;
OdbcCommand cmd1 = conn1.CreateCommand();
cmd1.CommandText = "SELECT * FROM patientinfo WHERE medicareNo = " + "" + p.getMedicare() + "";
conn1.Open();

上面写着,

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

我做错了什么??我有带有所需表的 sqltest 数据库。

更新:odbc 连接器 5.2 已安装并用作:

using System.Data.Odbc.OdbcConnection

【问题讨论】:

看看connectionstrings.com/mysql。您是否尝试过从连接字符串中删除空格? 我尝试了连接字符串。上不来。尝试删除空格:没有用。它显示了 conn1.open() 中指出的错误,并给出了上述错误消息。 您需要在连接字符串的密码末尾加上; @Rohan ,试过了。仍然没有工作。程序似乎没有使用我的 odbc 连接驱动程序。它显示使用 System.Data.Odbc;是否存在未使用的指令。 【参考方案1】:

在安装 MySql Server 时,您是否将服务安装在特定端口?这可能是一个潜在的问题,以防万一尝试这个指定端口的连接字符串

3306 是默认的MySql 端口,如果你在安装时指定它可能会有所不同。

Server=yourServerName;Port=3306;Database=test;Uid=root;
Pwd=yourPassword;

【讨论】:

以上是关于C# 代码连接到 localhost 中的 mysql。供应商错了吗?的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到节点http:// localhost:8545

在 C# 中连接到 Websphere MQ 有效,但在 C++ 中失败,代码为 2058 (MQRC_Q_MGR_NAME_ERROR)

无法连接到 C# 中的本地数据库

无法从 Visual Studio C# 连接到数据库

无法连接到节点 http://localhost:8545

WebSocket 不会连接到 127.0.0.1 / localhost 以外的任何东西