缘起因为客户要求在应用上部署 mssql server ,而我们习惯了开发 Linux 下的服务器程序,所以就有了在 linux 下用 python 连接 mssql server 的需求。这个需求非常折腾人,我们花了许多时间在上面,仍然没有搞定。后来是请了 python-cn 列表的 vcc 出手,通过 ssh 直接上机操作才搞定的;相信以后搞不定的人还会不少,所以就把其中的经验写出来,方便后来者,也方便自己日后发布应用程序时能够有一个指导性的文档。写作本文时我们用的实验机器安装的是 ubuntu 8.,使用其它 linux 发行版的朋友请相应地更改 shell 命令。安装unixODBCunixODBC 是 linux 下的 ODBC 驱动管理器,官网: ubuntu/debian 下,直接执行:sudo apt-get install unixODBC unixODBC-bin就可以把 unixODBC 装上了,附带装上了图形化的 ODBC 管理器 ODBCConfig,它的样子大概是这样的: 如果你确定会在命令行下工作,就不安装 unicODBC-bin 也可以。而且后文的相关操作也是通过命令行来完成的,不会使用 ODBCConfig,提到这个只为方便 GUI 爱好者。安装FreetdsFreetds 是应用最为广泛的 Linux 下的 ODBC 驱动,官网: 0. 版,而 ubuntu 的更新源里仍然是 0. 版本,我这边建议你执行 sudo apt-get remove freetds freetds-dev 来把以前装的版本删除掉,然后下载 0. 或更新的版本。编译 freetds 的时候一定要注意 configure 的参数,我估计当时我编译的时候参数没有设置正确,所以一直没有能够连上 mssql server。Vcc 分享了他的编译参数,如下:./configure --prefix=/etc/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static执行 configure 之后再 sudo make,sudo make install,耐心等候安装完成就可以了。安装完成后,该用 tsql 测试一下,测试的方式是执行:tsql –H mssql-server-ip –U username –P password出现 1> 提示符就是成功啦。配置 freetdsFreetds 的配置文件位置在 /etc/freetds/freetds.conf 里,打开后在最后面增加如下一个 section: [db4] host = ... port = tds version = 7.0其中 host 是 mssql server 的地址,tds version 是指定使用哪个 tds 版本,据 vcc 说,用 7.0 的兼容性比较好,我小试了一下,8.0 也是可以的。完成以后,应该用 tsql 测试一下,测试的方式是执行:tsql –S db4 –U username –P password看到 1> 标识符就是成功啦。配置 ODBC 驱动接下来我们要配置一个 ODBC 驱动,驱动存储在 /etc/odbcinst.ini 文件中,用 vi 打开后,写入下面的内容: 1 [SQL Server] 2 Description = MS-SQLServer 3 Driver = /usr/local/freetds/lib/libtdsodbc.so 4 Driver = /usr/local/freetds/lib/libtdsodbc.so 5 Setup = /usr/lib/odbc/libtdsS.so 6 Setup = /usr/lib/odbc/libtdsS.so 7 UsageCount = 1 8 CPTimeout = 9 CPReuse = FileUsage = 1这样我们就配置好一个名为 SQL Server 的驱动了。如果你的 odbcinst.ini 之前是空的,可能还需要这样一个 section: [ODBC] Trace = Yes TraceFile = /tmp/sql.log ForceTrace = No Pooling = Yes其中 Trace 是指定要不要写 log,写 log 会降低程序性能,发布版记得把 Trace 的值改为 No。配置 ODBC 数据源现在该到配置数据源的时候了,ODBC 数据源存放在 /etc/odbc.ini 文件中,我们用 vi 打开,然后加入如下内容: 8 [mssql2k8] 9 Description = link to .4 Driver = SQL Server Servername = db Database = tempdb可以看到这个名为 mssql2k8 的数据中,使用了前面在 odbcinst.ini 中定义的驱动“SQL Server”,在 freetds.conf 中定义的 db4 数据库服务器,前面的工作必不可少哇。配置完成后可以使用 isql 测试一下,测试方式是执行:isql mssql2k8 username password在 isql 中你可以执行相应的 sql 语句,比如 select * from table,看看是不是真的已经能够从 mssql server 中取得数据了。安装 pyodbc无疑,这一步是最容易的了。先到这里( pyodbc 源码包,然后解压到相应的目录,再执行:sudo python setup.py buildsudo python setup.py install即可。最后仍然是测试,可以参考 UnixODBC, FreeTDS – 教?
推荐整理分享Linux 下用 Python 连接 MSSql Server 2008(linux中python命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux里用python,linux+python,linux pythonpath,linux pythonide,linux里用python,linux怎么用python编程,linux pythonide,linux+python,内容如对您有帮助,希望把文章链接给更多的朋友!
linux php扩展安装方法 Gettext1首先进入到php源码包中cd/opt/php-5.1.2/ext/gettext2在gettext文件夹下产生configure文件/opt/php/bin/phpize3配置编译./configure--with-php-config=/opt/php/bin/php-config--with
Red Hat Enterprise Linux 4+Nginx 0.7.+PHP5.2+MYSQL5.0+Memcache+eAccelerator收 安装LINUX1.导航界面【回车】2.是否将CD数据拷贝到磁盘上安装【跳过】3.LINUX安装界面【下一步】4.选择语言【英文】5.键盘【美国标准键盘】6.选择类型
双系统计算机怎样卸载其中一个? 原来电脑装的是windows和redflaglinux,后来感觉不爽,就准备卸载linux。于是,开始了卸载之旅:1、在windows下的我的电脑-》管理-》磁盘管理,会看到没有