包括安装unixODBC驱动、安装Microsoft ODBC驱动、配置DSN(可选)及配置ODBC的数据库驱动。
1、 安装unixODBC驱动
(1) 先检查unixODBC驱动是否已安装
odbcinst -j
(2) 不存在则安装:
yum install unixODBC -y
2、 安装Microsoft ODBC驱动
(1)先检查Microsoft ODBC驱动是否已安装:
ls -l /opt/microsoft/msodbcsql/lib64/
(2)不存在则安装:
$ curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
$ yum remove unixODBC-utf16 unixODBC-utf16-devel # to avoid conflicts
$ ACCEPT_EULA=Y yum install msodbcsql -y # optional: for bcp and sqlcmd
$ ACCEPT_EULA=Y yum install mssql-tools -y
如下为设置Microsoft ODBC驱动的环境变量
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
$ echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
$ export PATH="$PATH:/opt/mssql-tools/bin
3、 配置DSN(可选)
通过DSN(Data Source Name )连接数据库时需要先进行配置。
(1)检查是否已配置
(2)定义DSN
[MSSQL-ABC]
Driver = ODBC Driver 13 for SQL Server
Description = My MS SQL Server ABC
Trace = No
(3)注册DSN
odbcinst -i -s -f odbcdsn.txt –l
4、 配置ODBC的数据库驱动
(1) 编辑ODBC数据库驱动配置文件,检查是否存在驱动“ODBC Driver 13 for SQL Server”
vim /etc/odbcinst.ini
(2) 不存在则手动添加
[ODBC Driver 13 for SQL Server]
Description = Microsoft ODBC Driver 13 for SQL Server]
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.9.2
UsageCount=1
5、 测试
采用ODBC库pypyodbc,安装命令为“pip install pypyodbc”。
import pypyodbc
#指定Driver连接
connection = pypyodbc.connect('Driver={ODBC Driver 13 for SQL Server};Server=XXXXXXX;database=XXXX;uid=XXX;pwd=XXXX')
#通过DSN连接
# connection = pypyodbc.connect('DSN=MSSQL-ABC;Server= XXXXXXX;database=EXEUSIM;uid= XXXX;pwd= XXXX ')
cursor = connection.cursor()
cursor.execute("SELECT TOP 10 ID,Name FROM dbo.Base_Sys_User")
row = cursor.fetchone()
while row:
print (str(row[0]) + " " + str(row[1]))
row = cursor.fetchone()
cursor.close()
connection.close()
6、 说明
(1) ODBC数据源
/etc/odbcinst.ini 是放置了ODBC的数据库驱动
/etc/odbc.ini
系统DNS配置
~/.odbc.ini
用户DNS配置
(2) linux 里设置环境变量的方法
a、直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
b、修改profile文件
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
c、修改.bashrc文件
# vi /root/.bashrc
在里面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
后两种方法一般需要重新注销系统才能生效
参考:
https://www.jianshu.com/p/7e8c85503622 CentOS7 连接SQL SERVER
https://blog.csdn.net/zhangjing11292/article/details/51258187/ Linux设置环境变量方法(export PATH)
https://www.cnblogs.com/kevingrace/p/8072860.html Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
https://blog.csdn.net/taoerchun/article/details/52213822 linux环境变量 export命令详解
http://blog.chinaunix.net/uid-2278225-id-2114361.html ODBC源的建立