为了在MAC、上执行这个python
代码[适用于Ubuntu 18]
import pyodbc as odbc
sql_conn_irs = odbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=xxx.xxx.xxx.xxx;DATABASE=irs;UID=xxxxx;PWD=xxxxxxxx;')
我像这样安装了SQL Server Driver
:
mm2:~ ivan$ HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
==> Installing msodbcsql17 from microsoft/mssql-release
==> Installing dependencies for microsoft/mssql-release/msodbcsql17: unixodbc
==> Installing microsoft/mssql-release/msodbcsql17 dependency: unixodbc
==> Downloading https://homebrew.bintray.com/bottles/unixodbc-2.3.7.mojave.bottle.1.tar.gz
==> Downloading from https://akamai.bintray.com/d9/d9f30688c0639d73b9e3a4b4b94d3679b2762e2cf0bff6b2ad64fcd175cc30ca?__gda__=exp=1581885422~hmac=2d3
######################################################################## 100.0%
==> Pouring unixodbc-2.3.7.mojave.bottle.1.tar.gz
🍺 /usr/local/Cellar/unixodbc/2.3.7: 46 files, 1.8MB
==> Installing microsoft/mssql-release/msodbcsql17
==> Downloading https://download.microsoft.com/download/1/9/A/19AF548A-6DD3-4B48-88DC-724E9ABCEB9A/msodbcsql-17.5.1.1.tar.gz
######################################################################## 100.0%
==> odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
==> odbcinst -i -d -f ./odbcinst.ini
==> Caveats
If you installed this formula with the registration option (default), you'll
need to manually remove [ODBC Driver 17 for SQL Server] section from
odbcinst.ini after the formula is uninstalled. This can be done by executing
the following command:
odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
==> Summary
🍺 /usr/local/Cellar/msodbcsql17/17.5.1.1: 9 files, 2MB, built in 37 seconds
==> Installing mssql-tools from microsoft/mssql-release
==> Downloading https://download.microsoft.com/download/F/D/1/FD16AA69-F27D-440E-A15A-6C521A1972E6/mssql-tools-17.5.1.2.tar.gz
######################################################################## 100.0%
🍺 /usr/local/Cellar/mssql-tools/17.5.1.2: 11 files, 869KB, built in 7 seconds
==> Caveats
==> msodbcsql17
If you installed this formula with the registration option (default), you'll
need to manually remove [ODBC Driver 17 for SQL Server] section from
odbcinst.ini after the formula is uninstalled. This can be done by executing
the following command:
odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
然后我执行了这个操作,看看它返回了什么:
mm2:~ ivan$ odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /Users/ivan/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
然而,当我查看该文件时,
mm2:~ ivan$ more /etc/odbcinst.ini
/etc/odbcinst.ini: No such file or directory
mm2:~ ivan$
当我运行python
代码时,我得到:
---------------------------------------------------------------------------
Error Traceback (most recent call last)
<ipython-input-8-d2b1c4f70099> in <module>()
---> 11 sql_conn_irs = odbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=xxx.xxx.xxx.xxx;DATABASE=irs;UID=xxxx;PWD=xxxxx;')
12 query = "SELECT * FROM Table_Curve order by Date asc"
13 dfirs = pd.read_sql(query, sql_conn_irs)
Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")
在Mac OS X上安装SQL Server驱动程序有额外的魔力吗?
我在mac OS catalina 上通过卸载和安装修复了它
这是同样的错误,然后我所做的,首先我是按照以下说明安装Brew:
https://learn.microsoft.com/pt-br/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-服务器-ver15
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install msodbcsql17 mssql-tools
在终端消息中,有些iten被弃用,我使用了终端和微软网站的说明,我只使用了上面的行。
安装1,不起作用,然后我卸载了包并再次安装
brew uninstall msodbcsql17 mssql-tools
brew install msodbcsql17 mssql-tools
在第一次安装终端没有显示所有许可证消息警报,第二次安装终端显示两个许可证警报:
erik@ERIKs-MacBook-Pro-3 ~ % brew install msodbcsql17 mssql-tools
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
broot healpix
==> Installing msodbcsql17 from microsoft/mssql-release
==> Downloading https://download.microsoft.com/download/1/9/A/19AF548A-6DD3-4B48
Already downloaded: /Users/erik/Library/Caches/Homebrew/downloads/b8402326ee28ebb9b25b5c98a4fcfe0ecad17cd385a8ccb3ef5bedb0e097c2e0--msodbcsql-17.5.2.1.tar.gz
The license terms for this product can be downloaded from
https://aka.ms/odbc17eula and found in
/usr/local/share/doc/msodbcsql17/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
==> odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
==> odbcinst -i -d -f ./odbcinst.ini
==> Caveats
If you installed this formula with the registration option (default), you'll
need to manually remove [ODBC Driver 17 for SQL Server] section from
odbcinst.ini after the formula is uninstalled. This can be done by executing
the following command:
odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
==> Summary
🍺 /usr/local/Cellar/msodbcsql17/17.5.2.1: 9 files, 2MB, built in 21 seconds
==> Installing mssql-tools from microsoft/mssql-release
==> Downloading https://download.microsoft.com/download/F/D/1/FD16AA69-F27D-440E
Already downloaded: /Users/erik /Library/Caches/Homebrew/downloads/ff8148cc433f9b643b44c5bbe8adec5a50a170948e0f3ad64069efe2773670c3--mssql-tools-17.5.2.1.tar.gz
The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746949 and found in
/usr/local/share/doc/mssql-tools/LICENSE.txt . By entering 'YES',
you indicate that you accept the license terms.
Do you accept the license terms? (Enter YES or NO)
YES
🍺 /usr/local/Cellar/mssql-tools/17.5.2.1: 11 files, 869KB, built in 55 seconds
==> Caveats
==> msodbcsql17
If you installed this formula with the registration option (default), you'll
need to manually remove [ODBC Driver 17 for SQL Server] section from
odbcinst.ini after the formula is uninstalled. This can be done by executing
the following command:
odbcinst -u -d -n "ODBC Driver 17 for SQL Server"
我没有遵循这张纸条上显示的警告,我去步骤测试连接
erik@ERIKs-MacBook-Pro-3 ~ % sqlcmd -S 192.168.2.103 -U sa -P xxxxx -Q "SELECT @@VERSION"
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
Aug 22 2017 17:04:49
Copyright (C) 2017 Microsoft Corporation
Enterprise Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 18362: ) (Hypervisor)
(1 rows affected)
源代码中的优秀资源:https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-服务器-ver15
"如果安装了短暂可用的v17 msodbcsql包,则应在安装msodbcsql17包之前将其删除。这样可以避免冲突。msodbcsql17包可以与msodbcsql v13包并排安装">
安装brew并使用它安装您需要的驱动程序:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
brew install msodbcsql@13.1.9.2 mssql-tools@14.0.6.0