【发布时间】:2018-05-18 14:50:50
【问题描述】:
我正在尝试从 access 数据库中提取表列表。该脚本遍历并显示了大约三分之一的表并得到以下错误:
Traceback(最近一次调用最后一次):文件“C:/GageInfo/sourcecode for GageTrakNotify/__test script.py”,第 31 行,在 对于 cursor2.columns(rows.table_name) 中的 fld:UnicodeDecodeError:'utf-16-le' 编解码器无法解码位置 132-133 中的字节:非法 编码
任何提示将不胜感激。
import pyodbc
cursor1 = conn.cursor()
cursor2 = conn.cursor()
tblCount = 0
for rows in cursor1.tables():
if rows.table_type == "TABLE":
tblCount += 1
print(rows.table_name)
for fld in cursor2.columns(rows.table_name):
print(fld.table_name, fld.column_name)
conn.close()
【问题讨论】:
-
使用当前代码的输出来识别最后一次成功打印,然后在 Access 本身中打开数据库并在设计视图中检查表以确定导致打印的列名(或表名)错误。然后,edit 你的问题向我们展示它是什么。
标签: python ms-access odbc pyodbc utf-16le