使用 Python pyodbc 连接到普适数据库
Connect to Pervasive Database using 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 Client
Interface][Client LNA]Connection attempt timed out. The SQL Connection
Manager may be inactive or using a different transport protocol from
the client. (10065) (SQLDriverConnect); [08S01] [Zen][ODBC Client
Interface]Invalid connection string attribute. (0)')
我在网上看到一些例子,他们没有使用 username/password 进行连接。我也试过这个,但仍然收到同样的错误。数据库处于活动状态,因为我能够从另一个应用程序成功建立 OLE DB 连接。
有人看到我做错了什么吗?
在连接到另一台 Windows 机器的 Windows 机器上尝试后,连接字符串可能有问题。我一直收到错误 161 错误([Zen][ODBC Client Interface][LNA][Zen][SQL Engine][Data Record Manager]A key has reached an maximum limit for user count, session count, or数据正在使用中,或已将状态更改为过期或禁用。(检索错误 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 查询。
我正在尝试使用 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 Client Interface][Client LNA]Connection attempt timed out. The SQL Connection Manager may be inactive or using a different transport protocol from the client. (10065) (SQLDriverConnect); [08S01] [Zen][ODBC Client Interface]Invalid connection string attribute. (0)')
我在网上看到一些例子,他们没有使用 username/password 进行连接。我也试过这个,但仍然收到同样的错误。数据库处于活动状态,因为我能够从另一个应用程序成功建立 OLE DB 连接。
有人看到我做错了什么吗?
在连接到另一台 Windows 机器的 Windows 机器上尝试后,连接字符串可能有问题。我一直收到错误 161 错误([Zen][ODBC Client Interface][LNA][Zen][SQL Engine][Data Record Manager]A key has reached an maximum limit for user count, session count, or数据正在使用中,或已将状态更改为过期或禁用。(检索错误 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 查询。