欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 通过Sybase ASE ODBC Driver访问sybase数据库,无需配置DSN【自己整理的】

程序员文章站 2022-03-20 17:39:39
Python语言对于开发工程师或者测试工程师来说,应该是最高效的开发语言之一。但python访问sybase数据库的资料相对少见。而且sybase字符集为GB1803时,python访问sybase库中的中文,结果都不理想。 要么使用收费第3方库,就是要自己编译开源库,总之过程很痛苦。 下面将本人整 ......

python语言对于开发工程师或者测试工程师来说,应该是最高效的开发语言之一。
但python访问sybase数据库的资料相对少见。而且sybase字符集为gb1803时,python访问sybase库中的中文,结果都不理想。

要么使用收费第3方库,就是要自己编译开源库,总之过程很痛苦。

下面将本人整理的资料分享出来,希望帮到您。

  1. 选择合适的sybase ase odbc driver。参见https://download.csdn.net/download/iihero/3914619。为了方便大家下载,这里通过百度云分享。

    链接:https://pan.baidu.com/s/1wm-swb4w70tk_via08qkhg 
    提取码:seiq

  2. 安装过程,参见下图的2个文档,也可以参见:

    http://blog.csdn.net/iihero/article/details/17173011,

    http://www.cnblogs.com/ycusking/archive/2012/02/13/sql_link_sybase.html。

    python 通过Sybase ASE ODBC Driver访问sybase数据库,无需配置DSN【自己整理的】

    请参照readme.txt,如64位的window,运行odbc_x64.bat后,在c:\windows\syswow64\odbcad32,就可以在驱动列表里看到sybase ase odbc driver这个驱动了。如果没有看到,需要手工执行:

    regedit /s .\odbc_64.reg
    regedit /s .\sybase_64.reg

     

  3. 由于该驱动本质是32bit的,所以python和pyodbc也要用32bit的。否则会出现很多奇怪的问题。
  4. 调用代码如下:
     1 import pyodbc
     2 3 
     4 #  参考http://bbs.csdn.net/topics/380063945,从中获得灵感,无需配置dsn。
     5 conn = pyodbc.connect('driver={sybase ase odbc driver};networkaddress=10.10.132.110,5000;database=jkp_tjzlk;uid=sa;pwd=123456')
     6 cursor = conn.cursor()
     7 cursor.execute("select famc from sn_wffa_gl ")
     8 for row in cursor:
     9         for col in row:
    10             print(col)
    11 cursor.close()
    12 conn.close() 

       上面资料整理是几年前的事情了,最近有个朋友遇到困难,刚好帮到他,很开心。想到自己一点小小经验,不能敝帚自珍,所以分享出来。错误或者不当之处,请指正。