Erf*_*fan 8 sql-server odbc openssl
更新:如果您遇到同样的问题,这里正在讨论问题的根源
\n使用自制软件升级到Python3.10后,我的OpenSSL也升级到版本3。
\n现在我无法再连接到 SQL Server,因为 ODBC 需要 OpenSSL 1.1 或 1.0。所以当我跑步时:
\nisql -v -k "<connection string"\nRun Code Online (Sandbox Code Playgroud)\n我收到以下错误:
\n[08001][Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]\n[08001][Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection\nRun Code Online (Sandbox Code Playgroud)\n但是当我查看时,/usr/local/etc/我发现它openssl@1.1已安装:
我怎么解决这个问题?对这个还真不熟悉。所以ODBC需要找到正确的OpenSSL版本,即1.1。
\n我试过:
\nln -s /usr/local/Cellar/openssl@1.1/1.1.1g /usr/local/opt/openssl\nRun Code Online (Sandbox Code Playgroud)\n另外,当我运行openssl命令时,它会找到正确的版本:
\xe2\x9e\x9c ~ openssl\nOpenSSL> version\nOpenSSL 1.1.1l 24 Aug 2021\nOpenSSL> \nRun Code Online (Sandbox Code Playgroud)\n输出brew list openssl@1.1
/usr/local/Cellar/openssl@1.1/1.1.1l_1/.bottle/etc/ (7 files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/bin/c_rehash\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/bin/openssl\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/include/openssl/ (104 files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib/libcrypto.1.1.dylib\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib/libssl.1.1.dylib\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib/engines-1.1/ (2 files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib/pkgconfig/ (3 files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/lib/ (4 other files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/share/doc/ (3971 files)\n/usr/local/Cellar/openssl@1.1/1.1.1l_1/share/man/ (3971 files)\n\xe2\x9e\x9c ~ \nRun Code Online (Sandbox Code Playgroud)\n输出ls -l /usr/local/opt/openssl/lib/libssl.dylib
lrwxr-xr-x 1 username admin 14 Sep 7 13:46 /usr/local/opt/openssl/lib/libssl.dylib -> libssl.3.dylib\nRun Code Online (Sandbox Code Playgroud)\n跑步DYLD_PRINT_LIBRARIES=1 isql -v -k "<connection string"还给了我以下内容。似乎仍然链接到openssl@3
dyld: loaded: /usr/local/opt/openssl/lib/libssl.dylib\ndyld: loaded: /usr/local/Cellar/openssl@3/3.0.0/lib/libcrypto.3.dylib\n[08001][Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [OpenSSL library could not be loaded, make sure OpenSSL 1.0 or 1.1 is installed]\n[08001][Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection\n[ISQL]ERROR: Could not SQLDriverConnect\nRun Code Online (Sandbox Code Playgroud)\n
Erf*_*fan 15
经过尝试很多事情后,我找到了一个(hacky)解决方案:
/usr/local/opt/:rm openssl
Run Code Online (Sandbox Code Playgroud)
ln -s /usr/local/Cellar/openssl@1.1/1.1.1l_1 /usr/local/opt/openssl
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5636 次 |
| 最近记录: |