0

次の接続文字列を使用してSQLサーバーに接続しようとしています

<add name="siteDB" connectionString="Data Source=xxxxx\sql_2005;Initial Catalog=Intranet;User ID=username;Password=password" providerName="System.Data.SqlClient"/>

しかし、私はこのエラーが発生しています

A connection was successfully established with the server, but then an error occurred during the pre-login handshake

これは、Web アプリが .net 4 としてコンパイルされている場合にのみ問題になります。.net 2 は正常に動作するようです。

次のことを試しましたが成功しませんでした

TrustServerCertificate=True

接続文字列で..喜びはありません

も試した

TCP/IP protocols enabled
named pipes enabled

適切な権限を持つ新しく設定されたアカウントを使用する

何か案は?

ありがとう

ナット

4

1 に答える 1

0

これまたはこれを試すことができます(一度私のために働いた):

1) Web サイト レベル (「既定の Web サイト」など) と仮想ディレクトリ レベルの両方で、IIS からすべての SSL 証明書と暗号化オプションを削除します。基本的に、暗号化を有効にした場合、すべての設定を元の暗号化されていない設定に戻します。

2) サーバーからすべての SSL 自己署名証明書を削除します。これらは、SelfSSL が生成した証明書です。サーバーには本物の証明書がある場合があります。他のソフトウェアで使用されている可能性があり、無害であるため、これらに触れないでください。

これらの証明書は、すべての証明書ストアから削除する必要があります。これを行うには、MMC を開始し、(一度に 1 つずつ) 証明書マネージャー スナップインを [マイ ユーザー アカウント]、[サービス アカウント]、および [コンピューター アカウント] に追加します。自己署名証明書のすべてのコピー (個人、信頼されたルート証明機関など) を見つけて削除します。

3) ここで、実際の証明書を削除しましたが、SQL Server は引き続き暗号化を使用します。これは、レジストリに証明書のコピーが作成されているためです。これらを見つけて削除する必要があります。

これらは次の場所にあります: HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib

および/または

HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Microsoft SQL Server\MSSQL.x\Client\SuperSocketNetLib

4) サーバーを再起動すると、最初のエラーが修正され、SQL エージェントが実行され、正常に戻っていることがわかります。

ここにあるように。

于 2013-01-24T01:41:56.203 に答える