python 通过Sybase ASE ODBC Driver访问sybase数…

2019-07-24 09:18:43来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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。

    请参照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 
     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() 

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

 

 


原文链接:https://www.cnblogs.com/donsam/p/11168235.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:深浅拷贝

下一篇:支付宝支付