pymssql的简单使用

今天需要写一个定时任务,简单尝试用pymssql连接了一下。

工作环境:win7 + py2.7 + 远程 SQL Server 2008

1.安装pymssql

直接安装pymssql-2.0.0b1.win32-py2.7.exe,然后import pymssql,没有问题。

2.连接数据库,出现如下错误

>>> conn = pymssql.connect(host="192.168.0.100",user="sa",password="pwd",database="production")

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    conn = pymssql.connect(host="192.168.0.100",user="sa",password="pwd",database="production")
  File "pymssql.pyx", line 549, in pymssql.connect (pymssql.c:7110)
OperationalError: (20009, 'Net-Lib error during Unknown error')

不懂,搜一下看看大牛们怎么说。大牛说不知道。

只好自己折腾,经过1个小时多的研究,原来指定了编码就好了……

端口也换掉,直接创建一个游标……

>>> conn = pymssql.connect(server="192.168.0.100",port="2433",user="sa",password="pwd",
        database="production",charset="UTF-8")
>>> cursor = conn.cursor()

3. 查一下玩玩,可以开始写脚本了

>>> cursor.execute("select count(*) from applyForm")
>>> cursor.fetchone()[0]
2937
>>> conn.close()


4. 最近升级了pymssql 2.1.2,结果坑了。。。

>>> import pymssql
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: 找不到指定的模块。



在网上查了一个多小时,终于发现了原因


pymlssql 2.1.1                                           pymssql 2.1.2
+------------------------------------------+             +-------------------------------------------+
|                                          |             |                                           |
| pymssql                                  |             | pymssql                                   |
|                                          |             |                                           |
|                                          |             |                                           |
|                                          |  +------->  |                                           |
|                                          |             +-------------------------------------------+
|  +-----------------------------------+   |
|  | freetds (statically linked)       |   |             +-------------------------------------------+
|  |                                   |   |             |                                           |
|  |                                   |   |             | freetds (in DLL form)                     |
|  +-----------------------------------+   |             |                                           |
+------------------------------------------+             +-------------------------------------------+

                                                         +-------------------------------------------+
                                                         |                                           |
                                                         | OpenSSL (in DLL form)                     |
                                                         |                                           |
                                                         +-------------------------------------------+

需要单独安装 FreeTDS ,尼玛,这么大的变化,版本号不舍得变一变啊!!!!还是乖乖用回旧版本吧。

原文:https://github.com/pymssql/pymssql/issues/399


转载于:https://my.oschina.net/tyskin/blog/83156

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值