我想将我的Python包链接到我的Access数据库,但是我收到了这个错误。我使用python 2.7.12(shell)。
import pypyodbc
#create connection
con = pypyodbc.connect('DRIVER={Microsoft Access-Treiber (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=//Users/123GuteLaune/DatabaseMAformat.mdb')
cursor = con.cursor()
#Select Data
cursor.execute("SELECT * from TW-DS")
for row in cursor.fetchone():
print(row)}
追踪(最近的呼叫最后):
文件“”,第1行,在中
进口pypyodbc
ImportError:没有名为pypyodbc的模块
修改
嗨发生错误后第二次安装
回溯(最近一次调用最后一次):文件“/Users/123GuteLaune/Python/connectionprogramm.py”,第4行,con = pypyodbc.connect('DRIVER = {Microsoft Access-Treiber(* .mdb)}; UID = admin; UserCommitSync = Yes; Threads = 3; SafeTransactions = 0; PageTimeout = 5; MaxScanRows = 8; MaxBufferSize = 2048; FIL = {MS Access}; DriverId = 25; DefaultDir = // Users / 123GuteLaune / DatabaseMAformat.mdb ')文件“build / bdist.macosx-10.6-intel / egg / pypyodbc.py”,第2435行,在init self.connect(connectString,autocommit,ansi,timeout,unicode_results,readonly)文件“build / bdist.macosx- 10.6-intel / egg / pypyodbc.py“,第2484行,连接check_success(self,ret)文件”build / bdist.macosx-10.6-intel / egg / pypyodbc.py“,第989行,在check_success中ctrl_err(SQL_HANDLE_DBC, ODBC_obj.dbc_h,ret,ODBC_obj.ansi)文件“build / bdist.macosx-10.6-intel / egg / pypyodbc.py”,第976行,ctrl_err err_list.append((from_buffer_u(state),from_buffer_u(Message),NativeError .value))文件“build / bdist.macosx-10.6-intel / egg / pypyodbc.py”,第483行,在UCS_dec中uchar = buffer.raw [i:i + ucs_length] .decode(odbc_decoding)文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_32.py”,第11行,解码返回编解码器.utf_32_decode(input,errors,True)UnicodeDecodeError:'utf32'编解码器无法解码位置0-1中的字节:截断数据
2016年10月12日编辑
我使用macOS El Captain的Mac。我的笔记本电脑上有“Parallels”程序,用于在虚拟机中使用Access。 Python安装在Mac端。
我必须更改哪些Python可以使用ODBC接口进行访问?
编辑13.10.2016
我找到了一个工具包“pyodbc”我认为这应该可以在mac上运行但是我再也无法运行安装文件我得到了错误。我已经安装了自制软件并找到了这个dokumentation用于安装(https://github.com/lionheart/django-pyodbc/wiki/Mac-setup-to-connect-to-a-MS-SQL-Server)
python中的错误: Traceback(最近一次调用最后一次): 文件“/Users/123GuteLaune/connectionprogramm.py”,第1行,in 进口pyodbc ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyodbc.so,2):未加载库:/usr/local/lib/libodbc.2.dylib 参考自:/ Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyodbc.so 原因:未找到图像
答案 0 :(得分:0)
如果您在Mac端运行Python,则需要使用与macOS兼容的驱动程序。 Microsoft Access-Trebier (*.mdb)
ODBC驱动程序是一个Windows DLL(ODBCJT32.DLL),我非常怀疑Mac版本的Python可以使用它。
您可能对此处的相关问题感兴趣:
Read an Access database in Python on non-Windows platform (Linux or Mac)