2009-03-06 10 views
0

非常に厳しいファイアウォール設定を持つホスティング会社のWebサーバーで実行されているasp.net 3.5 Webアプリケーションがあります。 Webアプリケーションは、全く異なるネットワーク上にあるSQL Server Express 2005と通信します。WebサーバーがSQL Server Expressと通信するときのTCPポート

問題は、ウェブアプリケーションが、ポート1433のSQLサーバに接続するときに、接続するためにSQLサーバにランダムなポート番号を送信することです。そのため、WebアプリケーションはSQLサーバに接続できません彼らは準備ができていないファイアウォールのポート番号をオフに全体の範囲。

私の質問は次のとおりです。あなたの接続文字列またはweb.configのどこかで、クライアントが接続先のSQL Serverに送るポートを指定できますか?

おかげ

答えて

0

それはあなたのSQL Server Expressは、動的ポートでリッスンするように構成されていることは可能ですか? 「TCP Dynamic Ports」の値が0の場合、特定のポートが設定されていてもダイナミックになると思います。その値は完全にクリアする必要があります。

1

私があなたに喜んでいただけるなら、TCP/IPポートの取り扱いがどのように働くべきかに反するものをしたいと思っています。

SQLサーバーに接続するときにWebアプリケーションで常に同じポートを使用するようにしますか?これは、いつでも1つの接続を開くことができることを意味します。したがって、常に1人のユーザーしか接続できません。クライアントは、「ランダム」ポートからサーバーと通信することになっています。それはネットワーキングの基礎です。少なくとも私はどのようにそれを学んだ。

毎回同じポートを使用するように強制することもできないと思います。

私は問題があなたのアプリケーションではなくファイアウォールであると言います。私は、SQLサーバがあなたのサイトが存在するIPアドレスだけを話したがっていることを理解できますが、クライアントがどのポートに通話したいのかは本当に気にしてはいけません([website-ip]のようなものです:* - > [sql -ip]:1433)。私にとって、ファイアウォールを設定した人のように、ファイアウォールのような奇妙なアイディアがあるようですが、それはちょうど私です。

0

TCP/IPを使用している場合は、ポートを指定できます。 EXのために

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

DBMSSOCN = TCP/IP

関連する問題