私はいくつかのExcelレポートを作成中で、SQL接続を暗号化しようとしています。サーバー側では、私はすべて適切にセットアップし、Microsoft管理スタジオで私は安全な接続を確立することができます。しかし、私は何のための解決策を見つけることはできません。私はEncrypt = yes
のようなものが必要だと思うか、SSLをサポートしていないこのADODB.Connectionですか?事前Encrypt excel-vba ADODB接続
答えて
で
Private Function GetDataFromADO(ByVal Sel As String) As ADODB.Recordset
'Declare variables'
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
'Open Connection'
objMyConn.ConnectionString = "Provider=SQLOLEDB;Data Source=" & sqlServer & ";Database=" & _
sqlDB & ";User ID=" & sqlUsername & ";Password=" & sqlPassword & ";"
Dim s As String
s = objMyConn.ConnectionString
objMyConn.Open
'Set and Excecute SQL Command'
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = Sel
objMyCmd.CommandType = adCmdText
'Open Recordset'
Set objMyRecordset.Source = objMyCmd
objMyRecordset.Open
Set GetDataFromADO = objMyRecordset
おかげで私のSQL Server上の強制暗号化オプションは、トリックを行いました。
おかげラルフ:)
あなたはSSLやTLSを使用して、SQL Serverへのすべての接続を確保したい場合は、サーバー上のプロトコルのセットのためにyesに強制暗号化オプションを設定してもインストールする必要がありますドメインCAまたはパブリックCAによって生成された証明書。 Force Encryptionをyesに設定すると、SQL Serverから生成された自己署名証明書を使用するすべての接続が暗号化されます。これにより、中間の攻撃の男性が開かれる可能性が残されます。 CA(Certificate Authority)は、ユーザー、コンピュータ、組織のIDを証明したり、証明書を生成、管理、更新するために使用されるサービスまたはアプリケーションです。
ドメインCAによって生成された証明書を使用していると仮定します。 SQL ServerとドメインCAシステムとクライアントシステムが互いに通信できる限り、クライアントはSQL Serverとのセッションを開始し、その後、セキュアセッションの要求に応答し、生成された証明書を提示します検証のためにドメインCAサーバをクライアントに送信する。次に、クライアントは、有効な証明書であることをドメインCAシステムで検証し、デジタル署名を使用して修正されていないことを検証することによって、証明書を2つの方法で検証する必要があります。
SQL ServerでSSLを有効にする方法の基本は、データベースエンジンを実行しているサービスアカウントの証明書ストアに証明書と秘密キーをインポートしてから、サーバープロトコルのプロパティで[Force Encryption]プロパティを[ SQL Server Configuration Managerの[証明書]タブで、ドメインCAまたはパブリックCAから生成された証明書を選択します。
私のサーバーにはウェブサイトもあります。 Let's Encryptで自分のWebサイトの証明書を要求し、この証明書を証明書ストアにインポートしました。だから、私はまた、私のSQL Serverのための証明書を暗号化を使用しています。それは働いているように見えます。私はTrusted_Connection = yesオプションを使用していません。欠点のみ:暗号化の有効期間は6か月間で、Webサイトの証明書ストアの元の証明書のみが自動的に更新されます – Fraxner
いいですね。有効期限が切れる前にSQL Server証明書を置き換えることについて積極的に対応してください。私はそれがQAで一度起こったし、それは重要だった。 –
- 1. はADODB接続
- 2. VBA ADODB接続-SQL QUERY
- 3. グローバルモジュール。 ADODB接続とSQLサーバー
- 4. ADOdb - PHP + MySQLクラスのスコープと接続
- 5. ADODB接続から.NETへの移行
- 6. VBA - ADODBリモートOracleデータベースに接続
- 7. phpのadodbとの接続でエラーが発生しました
- 8. ADODBを使用してoracle11g dbに接続できません
- 9. ExcelからADODB接続を開く - エラー424
- 10. ADODB接続にSQL文を追加する
- 11. Vb.net SharepointへのADODB接続が動作しません
- 12. ADODB接続をしばらく開いておく
- 13. OutlookへのAdodb接続予定カレンダー予定
- 14. JavaScript Encrypt?
- 15. Excel 2016のVBAでのADODB接続タイムアウト - 接続がまだアクティブかどうかを確認する方法?
- 16. python AES Encrypt
- 17. ADODB接続のExcel VBAは値の代わりにテキストを生成します
- 18. VBAからのADODB接続が動作を停止しました
- 19. Excelが終了してもADODB接続が閉じられますか?
- 20. ADODBオブジェクトを使用して従来のASPのAccessデータベースに接続する
- 21. adodbをOracleに接続するときにエラーが発生する
- 22. 新しいADODB recordSetの新しい接続を作成しますか?
- 23. AES javascript encrypt - java decrypt
- 24. エンティティフレームワーク(最初のコード)でEncrypt ConnectionString
- 25. MySqlに似たOracle Encrypt Method
- 26. Nodejs接続していないSQLと接続
- 27. なぜ3DESでencrypt-decrypt-encrypt sequenceを使用するのですか
- 28. SequelizeでMSSQLサーバーに接続
- 29. ADODBレコードセット列ヘッダー
- 30. php adodbとfckeditor
私の知る限り、SQL Serverへの接続はExcelではなくWindows(セキュリティ、ネットワーク、暗号化、認証など)で処理されます。 Excel/ADOで接続タイムアウトを設定することさえできません。もちろん、 'ADODB.Connection.ConnectionTimeout = 5000'を使うことができます。しかし、影響を与えないので、その行をスキップすることもできます。したがって、私が完全に間違っていない場合は、SQL設定に焦点を当てて、暗号化された接続のみを許可するようにしてください。https://msdn.microsoft.com/en-us/library/ms191192.aspx 'Trusted_Connection = yes'を指定してください。 – Ralph