2017-06-02 109 views
0

我的挑戰是使用ODBC驅動程序從Cdata連接到Netsuite。我已經完成了驅動程序的設置。 輸出爲我odbcinst -jNetsuite ODBC錯誤:pyodbc執行正在提升`[HY000]目錄名稱無效。「錯誤

unixODBC 2.2.14 
DRIVERS............: /etc/odbcinst.ini 
SYSTEM DATA SOURCES: /etc/odbc.ini 
FILE DATA SOURCES..: /etc/ODBCDataSources 
USER DATA SOURCES..: /root/.odbc.ini 
SQLULEN Size.......: 8 
SQLSETPOSIROW Size.: 8 

我想這個Python代碼來獲取數據:

import pyodbc 

cnxn = pyodbc.connect('DSN=NetSuite;User=username;Password=passwd') 
pcursor = cnxn.cursor() 
pcursor.execute("SELECT * FROM Accounts") 
rows = pcursor.fetchall() 

for row in rows: 
    print(row) 

其中,username和passwd是NetSuite的帳戶的憑據。但是,重新調整以下錯誤:

Traceback (most recent call last): 
    File "odbctest.py", line 5, in <module> 
    pcursor.execute("SELECT * FROM Accounts") 
pyodbc.Error: ('HY000', '[HY000] The directory name is invalid. (-1) (SQLExecDirectW)') 

任何幫助,非常感謝。

+0

您可以確認是否存在'/ etc/odbcinst.ini','/ etc/odbc.ini'和'/ root/.odbc.ini',並且它們可以被用戶訪問嗎?它還有助於查看'/ etc/odbcinst.ini'和'/ etc/odbc.ini'的內容,以確保您已正確配置驅動程序和DSN。 –

+0

請包括@JerodJohnson提到的配置文件。 'odbcinst.ini'可能指向錯誤的驅動程序位置。 – FlipperPA

回答

0

我打電話給的是錯誤的驅動程序名稱。確保您正在訪問odbcinst.iniodbc.ini中的正確值。