首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>mysql>正文

Linux 下用 Python 连接 MSSql Server

http://www.oklinux.cn  2009-02-02  linuxidc    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

缘起
因为客户要求在应用上部署 mssql server 2008,而我们习惯了开发 Linux 下的服务器程序,所以就有了在 linux 下用 python 连接 mssql server 2008 的需求。这个需求非常折腾人,我们花了许多时间在上面,仍然没有搞定。后来是请了 python-cn 列表的 vcc 出手,通过 ssh 直接上机操作才搞定的;相信以后搞不定的人还会不少,所以就把其中的经验写出来,方便后来者,也方便自己日后发布应用程序时能够有一个指导性的文档。
写作本文时我们用的实验机器安装的是 Ubuntu 8.04,使用其它 linux 发行版的朋友请相应地更改 shell 命令。

安装unixODBC
unixODBC 是 linux 下的 ODBC 驱动管理器,官网:http://unixodbc.org。先确保你已经装上了它。形化的 ODBC 管理器 ODBCConfig,它的样子大概是这样的:


如果你确定会在命令行下工作,就不安装 unicODBC-bin 也可以。而且后文的相关操作也是通过命令行来完成的,不会使用 ODBCConfig,提到这个只为方便 GUI 爱好者。

安装Freetds
Freetds 是应用最为广泛的 Linux 下的 ODBC 驱动,官网:http://www.freetds.org/。因为我们用的版本是 0.82 版,而 Ubuntu 的更新源里仍然是 0.63 版本,我这边建议你执行 sudo apt-get remove freetds freetds-dev 来把以前装的版本删除掉,然后下载 0.82 或更新的版本。
编译 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> 提示符就是成功啦。

配置 freetds
Freetds 的配置文件位置在 /etc/freetds/freetds.conf 里,打开后在最后面增加如下一个 section:
138 [db4]
139 host = 192.168.18.4
140 port = 1433
141 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 Driver64 = /usr/local/freetds/lib/libtdsodbc.so
5 Setup = /usr/lib/odbc/libtdsS.so
6 Setup64 = /usr/lib/odbc/libtdsS.so
7 UsageCount = 1
8 CPTimeout =
9 CPReuse =
10 FileUsage = 1
这样我们就配置好一个名为 SQL Server 的驱动了。如果你的 odbcinst.ini 之前是空的,可能还需要这样一个 section:
12 [ODBC]
13 Trace = Yes
14 TraceFile = /tmp/sql.log
15 ForceTrace = No
16 Pooling = Yes
其中 Trace 是指定要不要写 log,写 log 会降低程序性能,发布版记得把 Trace 的值改为 No。

共2页: 上一页 1 [2] 下一页

上一篇:关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded)   下一篇:俄罗斯拟开发本土开源操作系统抵制微软

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Rails开发中的MySQL中文问题以及简单解决方式
·Linux下MySQL定期自动备份数据库
·新手进阶 Python连接MySQL代码
·Ubuntu 8.10下快速架设Nginx2.6 PHP5.2.6 MySQL5.0
·怎样在线配置phpMyAdmin
·Ubuntu MySQL下JAVA开发中乱码问题的解决
·MySQL加入复制replication服务器
·Fedora 10成功安装Oracle 10g
·把 MySQL 从 Windows 上移植到 Linux 下
·MySQL不支持GBK编码的解决方法
·Linux iptables下开放MySQL端口
·Linux 下MySQL 数据库性能调优
·Linux下通过C 语言代码来操作MySQL数据库
·Ruby MySQL中文乱码解决
·Linux系统下MySQL数据库的使用方法
·MySQL乱码问题深层分析
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·业界担忧MySQL命悬一线
·Fedora下通过rpm命令安装MySQL
·在Centos 5.2下安装最新的MySQL Proxy
·phpMyAdmin 3.0最简单的配置方法
·MySQL乱码问题深层分析
·Linux iptables下开放MySQL端口
·MySQL不支持GBK编码的解决方法
·把 MySQL 从 Windows 上移植到 Linux
·Fedora 10成功安装Oracle 10g
·MySQL加入复制replication服务器
·Ubuntu MySQL下JAVA开发中乱码问题的解
·怎样在线配置phpMyAdmin
  阅读排行
·详细讲解如何导入和导出MySQL数据库
·新手进阶 Python连接MySQL代码
·Linux 安装 Mysql
·MySQL出现ERROR 10061错误的解决一例
·MySQL TEXT、DATE、SET 数据类型
·在Linux系统环境下修改MySQL的root密码
·SQL语法详解
·MySQL出现1045错误服务找不到路径的解
·如何在Linux系统中安装MySQL
·在Linux 环境下安装 Mysql
·Fedora 10成功安装Oracle 10g
·Ubuntu下MySQL的手工安装
·在MySQL数据库增加新用户权限简介
·MySQL教學課程
·在Linux上安装MySQL Server 5.0
网摘收藏: