0

プロジェクトを公開するとき、クライアントは初期構成をセットアップできる必要があり、その一部はSQLデータベース接続です。システム(MSSQLSERVER2008)とSQLEXPRESS2005でSQLServer2008のインスタンスを実行しています。次の接続文字列をローカルで使用して、これが機能するかどうかを確認しようとしていますが、機能させることができません。

ConnectionString = {Data Source=127.0.0.1;Initial Catalog=DCOMProductionsDesktop;Integrated Security=False;User ID=DCOMProductionsDesktopService;Password=;Network Library=dbmssocn}

私が得るエラーは、通常の「ターゲットマシンがアクティブに接続を拒否した」です。

*ファイアウォールは実行されておらず、とにかくネットワーク内にあります* TCP/IPプロトコルが有効になっています*リモート接続が有効になって許可されています

だから、私は困惑しています。

編集

接続文字列のデータソースを次のように変更しました。

DataSource=192.168.0.2\MSSQLSERVER2008 on my WinXP VM (for testing remotely)

さて、これはうまくいきました。しかし、これをインターネット全体に展開すると、次のようなドメイン名を使用して、ネットワーク外のクライアントに対して同じ接続文字列が機能しますか?

DataSource=desktop.dcomproductions.com\MSSQLSERVER2008

それとも私は何か違うことをする必要がありますか?

4

2 に答える 2

2

「desktop.dcomproductions.com」などが適切なIPアドレスに解決される限り、機能します。そのため、その名前はパブリックDNSまたはプライベートDNSのいずれかに適切に設定する必要があります。

また、クライアントのスクリプトがSQLサーバーと同じネットワーク内にある場合を除いて、パブリック/外部IPアドレスに解決されることを確認してください。

コメントの代わりに答えとして投稿すると思いました:)

于 2009-06-21T09:06:13.223 に答える
1

名前付きパイプ以外のものを使用してSQLサーバーインスタンスに接続するのは久しぶりなので、これは関係ないかもしれませんが、データソースをサーバーに変更してみてください。

私が言ったように、それらは同義語かもしれません、それは久しぶりです。

また、IPアドレスを使用している場合でも、接続するSQLサーバーのインスタンスを指定していないため、問題が発生している可能性があります。

于 2009-06-21T08:58:26.377 に答える