使用Python pyodbc连接到普适数据库



我正在尝试使用pyodbc连接到一个Pervasive数据库。以下是我尝试过的代码:

import pyodbc
server = '10.10.10.01'
database = 'RMS'
username = 'test'
password = 'test123'
conn = pyodbc.connect(f'DRIVER=Pervasive ODBC Interface;SERVER={server};'
f'DBQ={database};UID={username};PWD={password}')
cursor = conn.cursor()

执行时,我收到以下错误:

pyodbc。OperationalError:('08S01','[08S01][Zen][ODBC客户端接口][客户端LNA]连接尝试超时。SQL连接管理器可能处于非活动状态,或者使用与客户。(10065((SQLDriverConnect(;[08S01][Zen][ODBC客户端接口]无效的连接字符串属性。(0('(

我在网上看到一些例子,他们不使用用户名/密码进行连接。我也尝试过,但仍然收到相同的错误。数据库处于活动状态,因为我可以成功地从另一个应用程序建立OLE DB连接。

有人看到我做错了什么吗?

在连接到另一台Windows计算机的Windows计算机上尝试后,连接字符串可能出现问题。我一直收到错误161错误([Zen][ODBC客户端接口][LNA][Zen][SQL引擎][Data Record Manager]密钥已达到用户计数、会话计数或正在使用的数据的最大限制,或者已将状态更改为过期或禁用。(Btrieve错误161((。一旦我将连接字符串从SERVER=更改为SERVERNAME=,它就开始为我工作了。所以,我的测试文件是:

import pyodbc
server = 'PSQLSERVERNAME'
database = 'DEMODATA'
username = 'test'
password = 'test123'
conn = pyodbc.connect(f'DRIVER=Pervasive ODBC Interface;SERVERNAME={server};DBQ={database};UID={username};PWD={password}')
cursor = conn.cursor()
cursor.execute("SELECT * FROM CLASS;") 
row = cursor.fetchone() 
while row: 
print(row[0])
row = cursor.fetchone()

您将需要更改服务器名称、数据库名称和SQL查询。

最新更新