簡體   English   中英

使用 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 LNA]連接嘗試超時。SQL 連接管理器可能處於非活動狀態或使用與客戶端不同的傳輸協議。(10065) (SQLDriverConnect); [08S01] [Zen][ODBC 客戶端接口]無效的連接字符串屬性。(0)')

我在網上看到了一些不使用用戶名/密碼進行連接的示例。 我也試過這個,但仍然收到同樣的錯誤。 數據庫處於活動狀態,因為我能夠從另一個應用程序成功建立 OLE DB 連接。

有人看到我做錯了什么嗎?

在連接到另一台 Windows 機器的 Windows 機器上嘗試后,連接字符串可能有問題。 我一直收到錯誤 161 錯誤([Zen][ODBC Client Interface][LNA][Zen][SQL Engine][Data Record Manager]A key has達到最大用戶計數限制,session計數,或正在使用的數據,或已將 state 更改為過期或禁用。(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 查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM