【问题标题】:Netsuite ODBC Error: pyodbc execute is raising `[HY000] The directory name is invalid.` errorNetsuite ODBC 错误:pyodbc execute is raise `[HY000] The directory name is invalid.` 错误
【发布时间】:2017-11-03 12:50:06
【问题描述】:

我的挑战是使用来自Cdata 的 ODBC 驱动程序连接到 Netsuite。我已经完成了驱动程序的设置。 我的 odbcinst -j:

的输出
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)')

非常感谢任何帮助。

【问题讨论】:

  • 您能否确认/etc/odbcinst.ini/etc/odbc.ini/root/.odbc.ini 存在并且用户可以访问它们?查看/etc/odbcinst.ini/etc/odbc.ini 的内容也有助于确保您已正确配置驱动程序和DSN。
  • 请包含@JerodJohnson 提到的配置文件。 odbcinst.ini 可能指向错误的驱动程序位置。

标签: python oracle odbc netsuite pyodbc


【解决方案1】:

我调用了错误的驱动程序名称。确保您访问的是 odbcinst.iniodbc.ini 中的正确值。

【讨论】:

  • 嘿,我是这个领域的新手——Python+odbc+netsuite。原生 NS odbc 驱动不够用吗?我试图了解您为什么需要 Cdata odbc 驱动程序。谢谢
猜你喜欢
  • 2018-09-30
  • 1970-01-01
  • 2012-09-08
  • 2022-07-12
  • 1970-01-01
  • 2020-11-07
相关资源
最近更新 更多