c# – MySQL“与SQL Server建立连接时发生与网络相关或特定于实例的错误”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – MySQL“与SQL Server建立连接时发生与网络相关或特定于实例的错误”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5792字,纯文字阅读大概需要9分钟。
内容图文
我一直在寻找这个问题的解决方案,唯一可能提供解决方案的是我唯一没有尝试过的解决方案,因为它涉及到更改系统属性.如果可以,我想避免这样做.
连接字符串是正确的,但它仍然无法连接.
例外情况发生在第30行,即连接字符串打开的位置. conn.Open()
这是代码:
using System.Text;
using System.Data.SqlClient;
namespace My_Sql_Program
{
class Program
{
static void Main()
{
try
{
// Step 1: Create a SqlConnection Object to connect to the
// SQL Northwind database.
SqlConnection conn = new SqlConnection("server=localhost;database=dcim;uid=root;pwd=LlmD62jL");
// Step 2: Create a SqlCommand object.
SqlCommand cmd = conn.CreateCommand();
// Step 3: Set the CommandText property of the SqlCommand object to a
// SQL SELECT statment that retrieves a row from the Customers table.
cmd.CommandText = "SELECT UserName, UserPassword, AuthorityLevel, " +
"FROM Users " +
"WHERE UserName = 'ben'";
// Step 4: Open the database connection using the
// Open() method of the SqlConnection object.
conn.Open();
//Step 5: Create a SqlDataReader object and call the ExecuteReader()
//Method of the SqlCommand object to run the SELECT statement.
SqlDataReader rdr = cmd.ExecuteReader();
// Step 6: Read the row from the SqlDataReader object using the Read() method.
rdr.Read();
// Step 7: Display the column values.
Console.WriteLine("rdr[\"UserName\"] = " + rdr["UserName"]);
Console.WriteLine("rdr[\"UserPassword\"] = " + rdr["UserPassword"]);
Console.WriteLine("rdr[\"AuthorityLevel\"] = " + rdr["AuthorityLevel"]);
// Step 8: Close the SqlReader object using the Close() method.
rdr.Close();
// Step9: Close the SqlConnection object using the Close() method.
conn.Close();
}
catch (SqlException e)
{
Console.WriteLine("An SqlException was thrown.");
Console.WriteLine("Number = " + e.Number);
Console.WriteLine("Message = " + e.Message);
Console.WriteLine("StackTrace:\n" + e.StackTrace);
}
Console.ReadLine();
}
}
}
当我运行它时,大约30秒没有任何反应,然后打印SqlException:
An SqlException was thrown.
Number = 2
Message = A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance name is
correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes
Provider, error: 40 - Could not open a connection to SQL Server)
StackTrace:
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean
breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean
breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,
Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds
connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean
trustServerCert, Boolean integratedSecurity, Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String
newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout,
Boolean withFailover)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String
newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString
connectionOptions, SqlCredential credential, TimeoutTimer timeout)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout,
SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString
newSecurePassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,
SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String
newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString
userConnectionOptions)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options,
DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection
owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool,
DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32
waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection,
DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,
TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection,
TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection,
DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions
userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at My_Sql_Program.Program.Main() in c:\users\paul\documents\visual studio 2010\Projects\My Sql
Program\My Sql Program\Program.cs:line 30
解决方法:
SqlConnection适用于SqlServer.要连接到MySql,您需要下载一些drivers并在项目中引用它,然后使用MySqlConnection.
看看这个question和CodeProject sample.
内容总结
以上是互联网集市为您收集整理的c# – MySQL“与SQL Server建立连接时发生与网络相关或特定于实例的错误”全部内容,希望文章能够帮你解决c# – MySQL“与SQL Server建立连接时发生与网络相关或特定于实例的错误”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。