ローカル SQLServer DB に接続しようとしている ASP.NET ページをデバッグしようとしています。使用している接続文字列にローカル マシンの名前が含まれている場合、以下のように正常に動作します。
string ConnectionString = "Integrated Security=SSPI;" +
"Initial Catalog=ARTICLEDB;" +
"Data Source=MYMACHINENAME\\MYSQLSVR;";
...後で...
conn = new SqlConnection(ConnectionString);
// Open the connection
try
{
if (conn.State != ConnectionState.Open)
{
conn.Open();
//don't work here when using ##.##.##.##\MYSQLSVR as datasource
}
return true;
}
catch
{
return false;
}
次のような datasource の値として IP マシンを使用すると、次###.###.###.###\\\MYSQLSVR
のような例外が発生します。
SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 28 - サーバーは要求されたプロトコルをサポートしていません)
この問題は、IIS からサイトを実行しようとして、接続が開かれていないという同様のエラーが発生したことが原因でした。
IIS が DB を見つけられるように、接続文字列で DB を参照するにはどうすればよいですか?
また、サイトの IIS に接続文字列を追加しようとしましたが、プロジェクト/サイトからその IIS 接続文字列を参照する方法がわかりません