我们有一个 .NET3.5 Windows 窗体应用程序,它调用同一服务器上的 ASP.NET SOAP Web 服务。然后,此 Web 服务将数据保存到 SQL Server Express 2005 数据库中,同样位于同一服务器上。
该应用程序已在内部以及我们的许多客户中部署,并且已按预期运行超过 18 个月。然而本周,在我们主要客户的站点上,该应用程序已开始在其部署的 10 台服务器中的 4 台上生成错误消息。所有 Web 服务方法都使用相同的连接字符串,但只有一种 Web 方法受到影响。
连接字符串具有以下格式:
Data Source=MYSERVER\SQLEXPRESS;Initial Catalog=MyDatabase;
Persist Security Info=True;User ID=MyUser;Password=MyPassword
当应用程序调用一个特定的 Web 服务方法时,它会产生错误:
找不到用户“MyDatabase”,因为它不存在或您没有权限。
没有对应用程序进行任何更改来导致此问题,但是客户的 IT 人员可能对这些服务器进行了更改。MyUser
已被授予存储过程的权限,并且能够连接到所有其他 Web 服务接口。
让我感到困惑的主要事情是错误消息说不存在的用户是连接字符串MyDatabase
中的Initial Catalog
名称。
我已经在现场与客户一起验证了应用程序仍然设置正确,并且所有其他 Web 服务接口都正确连接到数据库。
任何可能的原因或我可以检查的其他事情的任何建议都将不胜感激。