私はアイデアが不足しているので、誰かが光を当てることができるかどうかを確認しています.
- 2 層のクライアント/サーバー アプリケーション
- SQL Server 2005
- ワークステーション: Windows XP
- クライアント サーバー アプリケーション 1 は、SQL OLE DB プロバイダーを使用します。(プロバイダ=SQLOLEDB.1)
- クライアント サーバー アプリケーション 2 は、SQL Native Client を使用します。(System.Data.SqlClient.SqlConnection)
どういうわけか、アプリケーション 1 は正常に動作しますが、アプリケーション 2 では、接続のタイムアウトを 30 秒に設定する必要があります。
JohnnyCoder のDatabase Connectivity Test with UDL Fileから学んだヒントを使用して、ドライバーのどこかに問題があることを突き止めました。Microsoft OLE DB Provider for SQL Server を試すと、すぐに接続されます。SQL Native Client を試すと、それほど時間はかかりません。接続タイムアウトを60に設定しても失敗します。
どちらのアプリケーションも、他のインストールでは適切に機能しますが、特定の 1 つのサイトでは機能しません。そのため、セキュリティ、ファイアウォールなどの環境設定に関連している必要があります。
ワークステーションに新しい SQL Server 2005 Native Client をインストールしてみました。運がない。
だから私の質問は:
- クライアントが実際に接続できないのに、アプリケーション 2 が機能するのはなぜですか? SQL Native Client のタイムアウトが発生したときに OLE DB を使用する内部ロジックはありますか?
- 他に何を調べますか?