![c66c7734a01f181c6eaceabcca325bba.png](https://i-blog.csdnimg.cn/blog_migrate/2509e93649a33063ef8316ce317a7bc6.png)
最开头要说明一下,64位的python, 要配64位的ODBC;32位python配32位的ODBC。
因为在使用pyodbc时,ODBC是跟着Python位来的,虽说有办法可以同时使用32位和64位python,但是我曾下载32位odbc并尝试兼容32位python后并没有连接的上数据库。
另外一个我花了很长时间踩坑的地方就是解决中文乱码问题,文章后面我有写到,也是感谢部门的小伙伴点醒了我在python里设定encoding用GBK而不是UTF-8。需要提醒的是用GBK还是UTF-8是要根据你们自己的数据库情况而定。
- 下载Informix 64位 ODBC 3.5+ 以及驱动
- 打开C:WindowsSystem32odbcad32 注意system32里打开的odbc才是64位的odbc进行odbc配置,输入数据库的相关信息
![f279d1e784acb9ff0e3bbd887d8e996b.png](https://i-blog.csdnimg.cn/blog_migrate/510557ebdf54373c4286460f28b63c9c.jpeg)
![96153ca173170273a7d51d2fbc873ab2.png](https://i-blog.csdnimg.cn/blog_migrate/ffe5d423a3975e1428adb694ebcb765e.jpeg)
![37167ccb8b98ce9f63ee6d6d562d6bdc.png](https://i-blog.csdnimg.cn/blog_migrate/0b82b67e23fe0b0c9d9d643ac0e43921.jpeg)
这里的Client Locale和Database Locale根据自己数据库配置设定。
3. 对安装好的IBM Informix Setnet32进行配置。同样根据数据库的信息填写
![f3452f1afe1a2a9c08e62abb07eb0446.png](https://i-blog.csdnimg.cn/blog_migrate/982f57995cc58aee660b66b86e32e86d.jpeg)
![cebaedb9512790db31d31e3119041316.png](https://i-blog.csdnimg.cn/blog_migrate/9c79081ab155c77b0a4dc4370f804c40.jpeg)
注意Environment里 CLIENT_LOCALE和DB_LOCALE我设为en_US.819,是因为我们数据库采取的是此配置,这个要根据各自的数据库当初设定情况来填写。
4. ok,我们可以在python里连接数据库了。
我的python是3.7 64位,使用Pyodbc连接。有两种方式:
- connect DSN 根据前面我们在ODBC数据资源库信息填写
- Driver/Server/uid/pwd 根据自己数据库的信息填写
import
需要注意的是:我们使用的数据库中文配置为:GBK。
如果是utf-8设置的把GBK 换成UTF-8即可。