2016-11-07 114 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