在局域网中的某些PC中,相同的C#桌面应用程序无法连接到SQL SERVER 2008R2

时间:2017-10-18 19:44:42

标签: c# sql-server desktop-application remote-server

我在局域网中的所有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();

引发异常

任何线索?

0 个答案:

没有答案