2016-11-07 50 views
1

当我运行我的脚本见下面我得到了follwing错误。MS Access和IPython与pyodbc之间的连接错误

import pyodbc 
 

 
cnxn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes#;Threads=3;SafeTransactions=0;PageTimeout=5;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\Users\XXX;DBQ=C:\Users\XXX\Database.mdb") 
 

 
cursor = cnxn.cursor() 
 

 
cursor.execute("SELECT Monat FROM TW-DS") 
 

 
row = cursor.fetchone() 
 
if row: 
 
    print(row)

我有一个窗口在64位7专业版和水蟒32位与Python 2.7.12运行。 我的MS-Access是一个32位版本,我使用windowns中的32位OBDC连接生成器来生成我的路径。

我得到这个错误信息:

ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in FROM-Klausel. (-3506) (SQLExecDirectW)')

任何人可以帮助我吗?

回答

0

这实际上是一个SQL Server的弱点 - 它不喜欢连字符。试试这个:

SELECT Monat FROM [TW-DS] 

这将允许你在你的表或数据库名中使用连字符。

+0

Thx工作正常! – 123GuteLaune

+0

您是否可以通过单击复选标记标记答案? – FlipperPA