标点符(钱魏 Way)

使用Python连接SQL Server方法

由于公司目前使用的都是MS SQL Server 2008,由于一些特殊需要,要使用python来解决一些简单繁琐的SQL查询,Python本身是不支持连接MSSQL的,需要特殊的组件才行。网上找了一个pymssql的扩展,据说很好。安装这个组件花了我好长时间。下面就来看看他的安装过程,好让后面使用的人少找一些弯路。

如果直接使用pip install pymssql安装的话,会直接有问题,具体报错如下:

从上面的报错中发现,原来是少了Cython这个扩展。Cython其实就是一个python的C编译器。安装起来也非常的简单。只要pip install Cython 即可。中间安装的时间会比较长。安装完Cython后再次安装pymssql发现还是不成功。具体的报错内容为:

网上找了下,发现解决这个问题方法有很多种,但是都很烦,就是因为很烦,直接做了个非常牛X的安装包。

安装包下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql

安装安装完成以后我们就需要使用Python来连接数据库了,具体的连接方法官方网站上有详细的描述,这里只做一下简单的介绍:

http://code.google.com/p/pymssql/wiki/PymssqlExamples

以下为我使用的Python语句:

示例代码2:

码字很辛苦,转载请注明来自标点符《使用Python连接SQL Server方法》

评论

  1. scott #1

    你中文输入会乱码么?

    回复
    2012-02-6
    • 标点符

      还没试过,试试执行“SET NAMES UTF8”看下可不可以

      回复
      2012-02-6
      • 标点符

        •文件头加上 #coding=utf8
        •sql语句中有中文的时候进行encode
        insertSql = “insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,’测试’,’2012/2/1′)”.encode(“utf8″)
        • 连接的时候加入charset设置信息
        pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset=”utf8”)

        回复
        2012-02-6
  2. phoenixsun #2

    作者好,我用Python连接sql2008总是出错,非常着急,可否指教一二,能否加我q,156922728或者微信 phoenixsun2008

    回复
    2017-07-4
  3. phoenixsun #3

    提示为这种错误
    OperationalError: (20009, b’DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (localhost:1433)\nNet-Lib error during Unknown error (10060)\n’)

    回复
    2017-07-4
    • 标点符

      这个是你没有把SQL Server的TCP/IP访问打开导致的,自己在配置里设置下。

      回复
      2017-07-4