我可以使用Firebird ISQL工具(Firebird 3.0.4)通过以下命令连接到我的Firebird数据库:connect "C:\Documents\database.db" user 'USER' password 'PASSWORD';
[当我想在Python脚本(Windows10 64位的Python v3.7.7,在包括fdb v2.0.1甚至firebirdsql v1.1.3的虚拟环境中执行此操作时,我不能,而且我系统地得到了一个错误。
import fdb
con = fdb.connect(database="C:\Documents\database.db", user='USER' password='PASSWORD'')
DatabaseError:(''连接数据库时出错:\ n- SQLCODE: -902 \ n-无法完成对主机“ xnet:// Global \ FIREBIRD”的网络请求。',-902,335544721)
或
con = fdb.connect(host='localhost', database="D:\Documents\database.db", user= 'USER' password= 'PASSWORD'')
DatabaseError:(''连接数据库时出错:\ n- SQLCODE: -902 \ n-无法完成对主机“ localhost”的网络请求。\ n-无法建立连接。',-902,335544721)
或
con = fdb.connect(dsn="localhost:C:\Documents\database.db", user='USER' password='PASSWORD'')
DatabaseError:(''连接数据库时出错:\ n- SQLCODE: -902 \ n-无法完成对主机“ localhost”的网络请求。\ n-无法建立连接。',-902,335544721)
或
import firebirdsql
con = firebirdsql.connect(host='localhost', database="D:\Documents\database.db", user='USER' password='PASSWORD'')
如果您有任何想法,欢迎您,因为我被困住了。
启动Firebird服务器
fbclient.dll
C:\Program Files\Firebird\Firebird-3.0.5.33220-0_x64
中的Firebird 3。要指向嵌入式Firebird,您可以执行以下操作:将Firebird安装目录添加到PATH
环境变量(确保它在
%SystemRoot\System32
/ C:\Windows\System32
中列出)。在正常的Firebird安装中,fbclient.dll
文件夹中安装了没有Firebird Embedded的System32
,并且如果加载了该文件,则无法使用Firebird Embedded。fdb.load_api
加载客户端库:fdb.load_api('C:/Program Files/Firebird/Firebird-3.0.5.33220-0_x64/fbclient.dll')
这需要在首次使用fdb.connect
之前完成,否则将使用通过常规搜索路径找到的库]fb_library_name
连接属性指定客户端库:con = fdb.connect(dsn='C:/path/to/yourdatabase.fdb', user='sysdba', password='masterkey',
fb_library_name='C:/Program Files/Firebird/Firebird-3.0.5.33220-0_x64/fbclient.dll')
需要在使用FDB建立的第一个连接上指定此属性。尽管该属性的存在表明这是“每个连接”,但是FDB将始终使用加载的第一个客户端库(实质上,它的工作方式就像您在load_api
之前调用了connect
)。fbembed.dll
而不是fbclient.dll
。对于Firebird 2.5 Embedded,除非将其fbembed.dll
重命名或复制到fbclient.dll
,否则无法将其位置添加到路径中。