我在局域网中的所有PC上都运行了几个桌面c#应用程序。这些应用程序连接到运行WIN2012R2的本地LAN服务器中安装的SQL SERVER 2008R2。
在几乎所有的PC中,应用程序运行良好,但其中有一些(2)应用程序不起作用。产生的错误是“SQL网络接口,错误:26 - 错误定位服务器/指定的实例”。
所有应用程序中的连接字符串如下所示:“Data Source = MY-SERVER \ SQLSERVER2008R2; Initial Catalog = my_database; User ID = sa; Password = my_pass”其中MY-SERVER是服务器网络名称,SQLSERVER2008R2是服务器中运行的SQL实例的名称。
所有PC都在同一个工作组中。我们有使用Win 7,Win 10和Win 8运行应用程序的PC。其中一个有问题的PC运行Win7,另一个运行Win 8。
从有问题的PC我可以ping和telnet到服务器IP端口1433没有问题,我也可以运行SQL Server Management Studio,可以与SQL Server连接,并使用数据库。此外,我有几个连接到SQL Server的Excel VBA应用程序,也可以工作。
简而言之,局域网中的所有PC(+10)都运行相同的桌面和Excel应用程序。所有都安装了SQL Server Management Studio。所有Excel应用程序都适用于所有PC,SSMS适用于所有PC,telnet和ping工作适用于所有PC,桌面应用程序适用于除2台PC之外的所有PC。
我也检查过服务器和客户端机器中的防火墙,我已经将conn字符串从名称服务器更改为ip和端口。我已经在两台PC上重新安装了ODBC驱动程序而没有。
以下是我的代码示例
internal void accessingDatabase()
{
string query="Select * from my_table";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=MY-SERVER\\SQLSERVER2008R2;Initial Catalog=my_database;User ID=sa;Password=my_pass";
SqlCommand command = new SqlCommand(query, conn);
conn.Open();
SqlDataReader reader = command.ExecuteReader();
}
conn.Open();
引发异常任何线索?