0

ローカル 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 接続文字列を参照する方法がわかりません

4

2 に答える 2

1

SQL Server 構成マネージャーに移動し、「名前付きパイプ」と「TCP/IP」を有効にします。

接続文字列は次のようになります

Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;
Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

http://www.connectionstrings.com/sql-server-2008

于 2013-09-26T14:41:42.547 に答える
0

以下を確認してください。

Data Source=190.190.200.100,1433;Initial Catalog=DBName;Integrated Security=False;user id=userid;password=password
于 2013-09-26T14:56:01.850 に答える