AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    Linux 下用 Python 连接 MSSql Server 2008
    缘起
    因为客户要求在应用上部署 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。先确保你已经装上了它。如果你在 ubuntu/debian 下,直接执行:
    sudo apt-get install unixODBC unixODBC-bin
    就可以把 unixODBC 装上了,附带装上了图形化的 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。
    配置 ODBC 数据源
    现在该到配置数据源的时候了,ODBC 数据源存放在 /etc/odbc.ini 文件中,我们用 vi 打开,然后加入如下内容:
     8 [mssql2k8]
     9 Description     = link to 18.4
     10 Driver      = SQL Server
    12 Servername = db4
    14 Database        = tempdb
    可以看到这个名为 mssql2k8 的数据中,使用了前面在 odbcinst.ini 中定义的驱动“SQL Server”,在 freetds.conf 中定义的 db4 数据库服务器,前面的工作必不可少哇。
    配置完成后可以使用 isql 测试一下,测试方式是执行:
    isql mssql2k8 username password
    isql 中你可以执行相应的 sql 语句,比如 select * from table,看看是不是真的已经能够从 mssql server 2008 中取得数据了。
    安装 pyodbc
    无疑,这一步是最容易的了。先到这里(http://code.google.com/p/pyodbc/downloads/list)下载 pyodbc 源码包,然后解压到相应的目录,再执行:
    sudo python setup.py build
    sudo python setup.py install
    即可。
    最后仍然是测试,可以参考http://code.google.com/p/pyodbc/wiki/Examples的代码。
    参考资料
    CentOsphpmssql并配置unixODBC
    http://rickyfang.blog.51cto.com/1213/125837
    PyODBC, UnixODBC, FreeTDS config
    http://203.208.39.99/search?q=cache:a5KR0lOOYaYJ:kipb7.wordpress.com/2008/06/12/pyodbc-unixodbc-freetds-config/+pyodbc+inurl:kipb7hl=zh-CNct=clnkcd=1gl=cnclient=firefox-ast_usg=ALhdy293zSnO8RbxkRswuT73jHl3mg25_Q
    unixODBC 教學
    http://ycfunet.blogspot.com/2008/04/unixodbc.html
    “有”情社区
    python-cn
    http://groups.google.com/group/python-cn
    上一篇:RedHat 9.0下Apache+PHP+MySQL服务器安装配置
    下一篇:linux php扩展安装方法
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Linux 下用 Python 连接 MSSql Server 2008 Linux,下用,Python,连接,MSSql,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)