1

我正在尝试使用 Python 连接 c-TreeSQL。我知道我有正确的驱动程序,因为我可以使用George Poulose 的查询工具进行连接

我已经尝试过这些变体,但每一个都崩溃了;

import pyodbc

## Instructions from http://doc.4d.com/4Dv17/4D/17/Using-a-connection-string.200-3786162.en.html
# conn = pyodbc.connect('Driver={c-treeACE ODBC Driver};Host=<Host from driver config>;UID=<User name>;PWD=<Password>;DATABASE=liveSQL;')

# Connection string from Query Tool
# conn = pyodbc.connect('Driver={c-treeACE ODBC Driver};ODBC;DSN=DOTLIVEREP;Host=<Host from driver config>;UID=<User name>;PWD=<Password>;DATABASE=liveSQL;SERVICE=6597 ;CHARSET NAME=;MAXROWS=;OPTIONS=;;PRSRVCUR=OFF;;FILEDSN=;SAVEFILE=;FETCH_SIZE=;QUERY_TIMEOUT=;SCROLLCUR=OFF;')

# Connection string from Query Tool. Added driver parameter
conn = pyodbc.connect('ODBC;DSN=DOTLIVEREP;Host=<Host from driver config>;UID=<User name>;PWD=<Password>;DATABASE=liveSQL;SERVICE=6597 ;CHARSET NAME=;MAXROWS=;OPTIONS=;;PRSRVCUR=OFF;;FILEDSN=;SAVEFILE=;FETCH_SIZE=;QUERY_TIMEOUT=;SCROLLCUR=OFF;')


print('Success')

这些连接字符串中的每一个都会导致 PyCharm、IDLE 和控制台崩溃。

我不确定是什么原因造成的

4

2 回答 2

0

您应该更改连接字符串中用于应用程序特定值的字段。

例如这里,而不是 < Host from driver config >。假设您的主机是 MYHOST。你应该把MYHOST。<用户名>也是一样,你应该输入你的用户名,比如jacob,等等。通常,这些带括号的字段是您输入的值:

# Connection string from Query Tool. Added driver parameter
conn = pyodbc.connect('ODBC;DSN=DOTLIVEREP;Host=MYHOST;UID=jacob;PWD=<Password>;DATABASE=liveSQL;SERVICE=6597 ;CHARSET NAME=;MAXROWS=;OPTIONS=;;PRSRVCUR=OFF;;FILEDSN=;SAVEFILE=;FETCH_SIZE=;QUERY_TIMEOUT=;SCROLLCUR=OFF;')
于 2021-02-11T18:56:16.530 回答
0

即使我没有遇到与您相同的问题,这是我在使用pyodbcMS SQL Server时对错误的修复:

我试图在我的代码开始时连接到同一台服务器上的多个数据库。当我尝试连接到同一服务器上的第二个数据库时,我的代码抛出了这个错误。

我所做的修复它是关闭我之前与服务器的第一个连接,完成需要完成的工作,然后关闭连接。然后我连接到我的第二个数据库,一切正常。

于 2021-04-19T06:52:16.647 回答