Windows11でExcelマクロ実行時、SQL接続でSSLセキュリティエラーが発生する

system o-ta 20 評価のポイント
2025-10-17T10:00:13.7933333+00:00

Windows11にアップグレードしたPCでExcelマクロを実行したときに、SSLセキュリティエラーが出ます。エラー箇所はSQL接続しているところです。Windows10では動作していました。

エラー:

実行時エラー '-2147467259(80004005)':

[DBNETLIB][ConnectionOpen(SECDoClientHandshake()).]SSLセキュリティエラーです。

<モデレーター注>
質問内容をもとにタグを「Microsoft 365 と Office | その他」→「VBA」に変更しました。

開発者テクノロジ | Visual Basic for Applications
{count} 件の投票

質問作成者が受け入れた回答
  1. Hebikuzure aka Murachi Akira 301.3K 評価のポイント MVP ボランティア モデレーター
    2025-10-21T06:17:30.6+00:00

    SQLサーバーのバージョンは「2005」です。

    SQL Server 2005 は TLS 1.2 をサポートしていません。

    現行の Windows 11 では TSL 1.1/1.0 のサポートが廃止され、利用できるのは TLS 1.2 以降です。

    そのため TLS のネゴシエーションが行えず、SSL エラーが発生していると思われます。

    解決方法は、SQL Server をサポートされているバージョンに更新することです。どうしても SQL Server 2005 に接続しなければならない場合は、Windows 11 で TLS 1.0/1.1 を再有効化してみてください。

    1 人がこの回答が役に立ったと思いました。

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. John Carl Nazario 8,525 評価のポイント 独立アドバイザー
    2025-10-17T14:06:29.19+00:00

    こんにちは system o-taさん。 Windows 10 では問題なく動いていたものが、アップグレード後に突然動かなくなるのは本当に困りますよね。

    Excel マクロで表示される SSL セキュリティエラー([DBNETLIB] [ConnectionOpen(SECDoClientHandshake())です。] SSL security error)は、Windows 11 のセキュリティ接続の扱いが変わったことによるものです。 古い DBNETLIB プロバイダーは、Windows 11 で標準となった TLS 1.2 などの最新プロトコルに対応していません。

    まず、接続文字列を最新のプロバイダーに変更してください。 Provider=DBNETLIB を Provider=MSOLEDBSQL に置き換えることで、TLS 1.2 に対応した接続が可能になります。

    次に、Microsoft の公式サイトから最新の Microsoft OLE DB Driver for SQL Server(MSOLEDBSQL)をインストールしてください。 これにより、Windows 11 のセキュリティ仕様と互換性が保たれます。

    最後に、SQL Server 側で TLS 1.2 が有効になっているか確認してください。 レジストリの SCHANNEL\Protocols の下で TLS 1.2 が有効になっているかをチェックします。

    マクロの接続文字列の更新や TLS 設定の確認について、必要であればお手伝いしますのでお気軽にご相談ください。 この回答がお役に立てば、「回答としてマーク」していただけると、他の方にも見つけやすくなります。

    よろしくお願いします。
    Carl より

    1 人がこの回答が役に立ったと思いました。

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。