我正在运行64位Ubuntu 11.0,64位python 2.7.2和pyodbc 3.0.3。
我正在尝试从位于网络Windows机器上的旧访问数据库(我认为它是97但不是100%确定)中检索数据。
我运行以下选择,结果如下:
select id, firstname, lastname from customer where id < 5
(id的类型为“Counter”,firstname和lastname为varchar)
来自python,Ubuntu上的pyodbc(这里有问题):
(16973874, 'Candance\x00\x00', 'Mattingly\x00\x00')
(16973875, 'Anthony & Ana Marie\x00\x00', 'Cushing\x00&')
(16973876, 'Sharon\x00\x00', 'Brown\x00\x00')
来自Ubuntu上的isql(效果不错)(稍微重新格式化):
| 2 | Candance | Mattingly |
| 3 | Anthony & Ana Marie | Cushing |
| 4 | Sharon | Brown
来自python,Windows 7上的pyodbc,64位(效果不错):
(2, u'Candance', u'Mattingly')
(3, u'Anthony & Ana Marie', u'Cushing')
(4, u'Sharon', u'Brown')
我的odbc.ini看起来与此相似:
[MSACCESS]
Description = Old MS Access Database
Driver = /usr/lib/libmdbodbc.so.0
Database = [path to mounted drive].mdb
基本上,pyodbc在Ubuntu上返回错误的结果(或解释错误)。我很感激任何有用的建议来解决这个问题。