我正在尝试连接到在 Windows 计算机上的本地服务器上运行的 Advantage 数据库。使用
pyodbc
python lib,我能够建立与数据库的连接。下面是代码
import pyodbc
conn = pyodbc.connect('DSN=DemoDB;UID=User;PWD=PSWD')
if conn:
print('Connected!')
sql = "select * from test;"
cur = conn.cursor()
data = cur.execute(sql)
print(data)
conn.close()
但是当程序尝试对连接的数据库执行查询时失败,并出现以下错误
pyodbc.Error: ('HY000', '[HY000] [iAnywhere Solutions][优点 SQL][ASA] 错误 7200:AQE 错误:状态 = HY000; 本机错误 = 5159; [SAP][Advantage SQL Engine][ASA] 错误 5159:遇到错误 当尝试打开数据库表时。 该表是数据库表。 它不能作为空闲表打开。表名:alb(7200) (SQLExecDirectW)')
我无法在网络上或 SAP 社区论坛中找到有关该错误的更多信息。
数据库详细信息:
DSN 应该是一个 .add 文件,该文件是数据库的容器。 Advantage DB有2种连接,空闲表连接和数据库连接。数据库连接更加安全,并通过 .add 文件提供许多附加功能。 看来您应该能够在此处下载文档(创建帐户后):https://wiki.scn.sap.com/wiki/display/EIM/Advantage+Online+Help+Files