同じサーバーで ASP.NET SOAP Web サービスを呼び出す .NET3.5 Windows フォーム アプリケーションがあります。次に、この Web サービスはデータを同じサーバー上の SQL Server Express 2005 データベースに保存します。
このアプリケーションは、社内だけでなく多くのお客様にも展開されており、18 か月以上にわたって期待どおりに機能しています。しかし今週、私たちの主要な顧客のサイトで、アプリケーションがデプロイされている 10 台のサーバーのうち 4 台でエラー メッセージが生成され始めました。Web サービス メソッドはすべて同じ接続文字列を使用しますが、影響を受ける Web メソッドは 1 つだけです。
接続文字列の形式は次のとおりです。
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 サービス インターフェイスがデータベースに正しく接続されていることを確認しました。
考えられる原因または私が確認できるその他の提案は、ありがたく受け取られます。