3

Linq DataContext を使用して SQL Server 2008 R2 Express データベースに接続しようとしています。データベース エンジンは、ローカル ネットワーク内の別のマシンで実行されています。当面の間、SQL認証を使用しています。SQL Server は、リモート接続を許可するように設定されています。

私の接続文字列は次のようになり、正常に動作します。インスタンスを指定していませんが、それが唯一のものであるため、デフォルトで選択されていると思います。

Data Source=192.168.1.50;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

同じエンジンをローカルにもインストールしましたが、この接続文字列も機能します。

Data Source=localhost;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

これも同様で、ローカルに接続します:

Data Source=.\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

では、リモート コンピューターで実行されているエンジンの複数のインスタンスがあり、特定のインスタンスを参照したい場合はどうすればよいでしょうか?

Data Source=192.168.1.50\SQLEXPRESS;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

上記の接続文字列により、

データベースへの接続エラー: SQL Server への接続を確立しているときに、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)

なぜこれが機能しないのですか?リモート データベース エンジンの特定のインスタンスに接続する接続文字列のが見つかりません。

4

2 に答える 2

1

リモート接続用に次の接続文字列を試してください。

Data Source=192.168.1.50\SQLEXPRESS,1433;Network Library=DBMSSOCN;Initial Catalog=DbName;User ID=SomeUser;Password=SecretPassword;

ファイアウォールを使用する場合は、ポート 1433 を開く必要があります。また、SQL Server Management Studio で DbName へのリモート接続を有効にしてみてください。

于 2013-06-18T08:50:59.127 に答える