我们的系统使用VB6的传统应用程序和新的.NET应用程序的组合。 将应用程序部署到我们的客户,他们运行从终端服务器框中的应用,在不同的机器上运行的SQL Server数据库。
VB6的应用程序正常工作,而所有的.NET应用程序的失败在启动时(试图连接到数据库中读取配置信息)有错误,每次:
System.Data.SqlClient.SqlException:在与SQL Server建立连接时出现与网络相关的或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称是否正确,以及SQL Server配置为允许远程连接。 (provider:TCP提供程序,error:0 - 连接尝试失败,因为连接的方没有正确一段时间后响应或已建立的连接失败,因为连接的主机没有反应。)
这里是很奇怪的事情:我创建了C#是通过复制的.NET应用程序所使用的精确的连接字符串测试.NET应用程序 - 我部署,显示实际使用的连接字符串的一个应用程序的规范版本 - 和测试应用程序的工作原理 。
VB6连接字符串(作品): Provider=SQLOLEDB;Data Source=servername;Initial Catalog=databasename;User ID=username;Password=password;
.NET连接字符串(包括工作和不工作): Data Source=servername;Initial Catalog=databasename;User ID=username;Password=password;Application Name="ourappname"
我们的其他客户都没有遇到过这个问题,用相同的二进制文件,这告诉我这是与.NET应用程序如何与这个特定客户的系统进行交互的一个问题。
我应该采取什么步骤来解决/解决这个问题? 我真的在这点损失。 我希望别人之前已经看到过这个问题; 我找不到在谷歌任何有关。
- 这两个箱子是在Windows Server 2008 R2 SP1在VMware上运行,并且是在同一个域中
- 两个框运行ESET NOD32; 禁止没有改变任何东西
- SQL Server是2008 R2 RTM(也有在同一台2008和2008 R2命名实例)的默认实例
- 这些应用程序(和我的测试应用程序)是.NET 4.0
- 该应用程序使用SQL登录认证(是的,我检查了正在使用的应用程序失败的密码是正确的)
- 一些.NET应用程序使用不同的代码来执行应用程序的启动,但他们都表现出了同样的错误
- 一些在.NET应用程序的是C#,有些是VB,一些混合(VB应用,C#芯组件)
- 我试着修复.NET 4.0安装
- 我试图重新启动两个框
- 我试过部署源二进制文件,使得我们的部署子系统是规避(如果这是造成某种腐败)
- 我本地编译仪器化应用程序遇到相同的行为,原来,这是通过团队系统建成