Microsoft Windows Server 2003, Enterprise Edition を使用して、アプリケーション サーバー上で Java と .net の両方のアプリケーションを実行しています。これらは、別のアプリ サーバー Windows 2008 64 ビット マシンに移行されています。
すべてのアプリケーションは、名前付きインスタンス上の同じ SQL Server 2005 データベースに接続します。
これまでのところ、構成ファイルを変更せずに、アプリケーションをそのままの状態で、古いボックスから新しいボックスに移動しようとしました。
新しいアプリ サーバーでは、Java アプリケーションも .net アプリケーションもデータベース (名前付きインスタンス) に接続しません。
JDBC エラー メッセージ:「指定されたインスタンスへの接続に失敗しました。エラー: java.net.SocketTimeoutException: 受信がタイムアウトしました。」
.net エラー メッセージ:「SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。」
DB 構成を名前付きインスタンスにない構成に変更すると、新しいアプリ サーバーで動作します。
古いアプリサーバーに接続できたため、データベースは正しくセットアップされています。新しいアプリ サーバーからデータベース サーバーに ping を実行できます。
これが新しいアプリ サーバーで機能しない理由はありますか?
Java 接続文字列: "jdbc:microsoft:sqlserver://[dbservername];SelectMethod=Cursor;instanceName=[dbinstance]"
.net 接続文字列: "Server=[dbservername]\[dbinstance];Database=Risk_DB;Uid=[user];Pwd=[pwd];"
更新 回答の提案に従って、インスタンスのポート番号を取得しました。SQL Server Management Studio もインストールしたので、問題点としてアプリを排除できます。Management Studio から、[サーバー名][インスタンス名] を使用すると、「SQL Server への接続を確立中にネットワーク関連またはインスタンス固有のエラーが発生しました...」というメッセージが表示されますが、[サーバー名] を使用すると機能します。[ポート]。とにかくこれを回避する方法があるかどうかわかりませんか?
更新 #2問題をインフラストラクチャ/サーバー/ネットワーク チームにエスカレーションしました。彼らは、新しいアプリ サーバーで Windows ファイアウォールを無効にしました。Presto、Management Studio で [dbservername]\[dbinstance] に接続できるようになり、すべてのアプリが既存の構成ファイルを使用して動作しています。