无法使用 c# System.Data.SqlClient 连接到本地数据库

Posted

技术标签:

【中文标题】无法使用 c# System.Data.SqlClient 连接到本地数据库【英文标题】:Can not connect to local database with c# System.Data.SqlClient 【发布时间】:2013-03-27 17:26:30 【问题描述】:

我在使用 c# System.Data.SqlClient 连接到本地数据库时遇到了一些问题。

信息:

数据库参数:名称:baza主机:localhost实例:baza端口:3306架构:world 我的连接字符串:@"server=localhost\baza;password=pass;User Id=root;database=world;Persist Security Info=True" 使用:c#、System.Data.SqlClient、mysql Workbench 防火墙关闭 与 JDBC 成功连接,因此服务器正在工作

JDBC 参数:

String url = "jdbc:mysql://localhost:3306/";
String driver = "com.mysql.jdbc.Driver";
String dbName = "world";
String username = "root";
String pass = "pass";

问题:

当我使用 conn.Open();发生这种情况 =>(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)

试过了:

server=localhost 然后它给出 => 错误:40 - 无法打开与 SQL Server 的连接 许多其他愚蠢的组合,例如 server=baza http://blogs.msdn.com/b/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx ASP.NET beginner question: How to get rid of this error? 与 freesql.org 服务器的连接也失败

我不知道该怎么办...某事可能与服务器名称有关。

编辑: 代码:

string connstr = @"Data Source=localhost\baza;password=qspass;User Id=root;"+
    "Initial Catalog=world;Persist Security Info=True";

Console.WriteLine(connstr);

SqlConnection conn = new SqlConnection(conbuild.ConnectionString);
conn.Open();

Console.WriteLine("YO!");
Some more code...

从未接触过哟! :P

【问题讨论】:

System.Data.SqlClient 命名空间是 SQL Server 的 .NET Framework 数据提供程序,而不是 MySQL。如果您使用 MySQL,则需要使用此处提供的 MySQL ADO.NET 驱动程序:dev.mysql.com/downloads/connector/net 【参考方案1】:

我想我应该把我的答案放在答案部分,而不是评论:)

我从您的 JDBC 连接字符串中看到您使用的是 MySQL 而不是 SQL Server。

System.Data.SqlClient 命名空间是 SQL Server 的 .NET Framework 数据提供程序,而不是 MySQL。

如果您使用 MySQL,则需要使用此处提供的 MySQL ADO.NET 驱动程序:

Download Connector/Net

【讨论】:

我不明白,我很笨。怎么用?我已经安装了它......就像在我的代码中使用这个 MySql.Data 一样? 这里没法给你解释,MySQL提供了使用教程,看这里:dev.mysql.com/doc/refman/5.6/en/connector-net-tutorials.html

以上是关于无法使用 c# System.Data.SqlClient 连接到本地数据库的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server (0x80131904):字符串或二进制数据将被截断 [重复]

无法使用 C# 运行 perl 脚本

无法在 C# 中使用 mysql 分配运算符

Open*** 无法使用 C# 连接 *** 服务器

C# 使用 liblas.dll(无法加载 DLL)

无法使用 C# 代码运行 .exe 应用程序