Firebird 嵌入式安装问题:无法确定库
Firebird embedded installation issue: library could not be determined
我一直在编写一个小型 Python 应用程序来打开 Firebird 数据库。
为了实现这个目标,我使用了 64 位嵌入式 Firebird 2.5.7.27050。
虽然,每当我尝试使用 Python 连接到数据库文件时,我都会收到以下错误:
Traceback (most recent call last):
File "C:\Matteo\CMakeR\initApp.py", line 36, in <module>
connection = connectToDB(path)
File "C:\Matteo\CMakeR\initApp.py", line 10, in connectToDB
charset='WIN1252'
File "C:\Program Files\Python36\lib\site-packages\fdb\fbcore.py", line 682, in connect
load_api(fb_library_name)
File "C:\Program Files\Python36\lib\site-packages\fdb\fbcore.py", line 181, in load_api
setattr(sys.modules[__name__],'api',fbclient_API(fb_library_name))
File "C:\Program Files\Python36\lib\site-packages\fdb\ibase.py", line 1398, in __init__
raise Exception("The location of Firebird Client Library could not be determined.")
Exception: The location of Firebird Client Library could not be determined.
>>>
FB 客户端好像没有安装好。
但是我非常仔细地按照 doc 文件夹中的安装指南进行操作。
这是我的应用程序文件夹:
04/01/2018 15:11 <DIR> .
04/01/2018 15:11 <DIR> ..
04/01/2018 14:57 133 aliases.conf
03/01/2018 14:20 0 CMakeR.conf
02/01/2018 13:40 2.480 DB in chiaro.odb
04/01/2018 14:57 <DIR> doc
30/12/2017 17:32 191 editXLS.py
30/12/2017 17:24 23.032 Export.xlsx
04/01/2018 14:57 5.664.256 fbclient.dll
04/01/2018 14:57 5.664.256 fbembed.dll
04/01/2018 14:46 5.199.849 Firebird-2.5.7.27050-0_x64_embed.zip
04/01/2018 14:57 27.661 firebird.conf
04/01/2018 14:57 149.440 firebird.msg
04/01/2018 14:57 5.664.256 gds32.dll
04/01/2018 14:57 8.192 ib_util.dll
04/01/2018 14:57 1.558.016 icudt30.dll
04/01/2018 14:57 575.488 icuin30.dll
04/01/2018 14:57 935.936 icuuc30.dll
04/01/2018 14:57 26.023 IDPLicense.txt
04/01/2018 15:09 1.583 initApp.py
04/01/2018 14:57 <DIR> intl
04/01/2018 14:57 24.301 IPLicense.txt
04/01/2018 14:57 524 Microsoft.VC80.CRT.manifest
30/12/2017 17:24 28.625 Modulo CMR.xlsx
04/01/2018 14:57 1.097.728 msvcp80.dll
04/01/2018 14:57 822.784 msvcr80.dll
04/01/2018 14:57 2.333 Readme.txt
02/01/2018 13:40 50.790.400 testArchive.eft
04/01/2018 14:57 <DIR> udf
我使用 .NET 中的嵌入式 FB,但我仍然将 firebird.msg 文件保存在与应用程序相同的文件夹中。并且 intl 和 udf 文件夹没有嵌套在 FBE 或某个文件夹中。我会说您将文件夹设置为 FBE,它也在寻找二进制文件。
这看起来也像布局 supposed 的样子。
谢谢大家帮我解决了这个问题。
感谢Arioch的建议,我终于找到了解决方案。
使用 Microsoft Process Monitor 我能够检测到我的应用程序在其中寻找客户端库的文件夹。然后我注意到它们是在 PATH 环境变量中指定的相同文件夹。
所以我将包含我的 Python 文件的文件夹添加到 PATH 变量,一切终于成功了。
我一直在编写一个小型 Python 应用程序来打开 Firebird 数据库。
为了实现这个目标,我使用了 64 位嵌入式 Firebird 2.5.7.27050。
虽然,每当我尝试使用 Python 连接到数据库文件时,我都会收到以下错误:
Traceback (most recent call last):
File "C:\Matteo\CMakeR\initApp.py", line 36, in <module>
connection = connectToDB(path)
File "C:\Matteo\CMakeR\initApp.py", line 10, in connectToDB
charset='WIN1252'
File "C:\Program Files\Python36\lib\site-packages\fdb\fbcore.py", line 682, in connect
load_api(fb_library_name)
File "C:\Program Files\Python36\lib\site-packages\fdb\fbcore.py", line 181, in load_api
setattr(sys.modules[__name__],'api',fbclient_API(fb_library_name))
File "C:\Program Files\Python36\lib\site-packages\fdb\ibase.py", line 1398, in __init__
raise Exception("The location of Firebird Client Library could not be determined.")
Exception: The location of Firebird Client Library could not be determined.
>>>
FB 客户端好像没有安装好。
但是我非常仔细地按照 doc 文件夹中的安装指南进行操作。
这是我的应用程序文件夹:
04/01/2018 15:11 <DIR> .
04/01/2018 15:11 <DIR> ..
04/01/2018 14:57 133 aliases.conf
03/01/2018 14:20 0 CMakeR.conf
02/01/2018 13:40 2.480 DB in chiaro.odb
04/01/2018 14:57 <DIR> doc
30/12/2017 17:32 191 editXLS.py
30/12/2017 17:24 23.032 Export.xlsx
04/01/2018 14:57 5.664.256 fbclient.dll
04/01/2018 14:57 5.664.256 fbembed.dll
04/01/2018 14:46 5.199.849 Firebird-2.5.7.27050-0_x64_embed.zip
04/01/2018 14:57 27.661 firebird.conf
04/01/2018 14:57 149.440 firebird.msg
04/01/2018 14:57 5.664.256 gds32.dll
04/01/2018 14:57 8.192 ib_util.dll
04/01/2018 14:57 1.558.016 icudt30.dll
04/01/2018 14:57 575.488 icuin30.dll
04/01/2018 14:57 935.936 icuuc30.dll
04/01/2018 14:57 26.023 IDPLicense.txt
04/01/2018 15:09 1.583 initApp.py
04/01/2018 14:57 <DIR> intl
04/01/2018 14:57 24.301 IPLicense.txt
04/01/2018 14:57 524 Microsoft.VC80.CRT.manifest
30/12/2017 17:24 28.625 Modulo CMR.xlsx
04/01/2018 14:57 1.097.728 msvcp80.dll
04/01/2018 14:57 822.784 msvcr80.dll
04/01/2018 14:57 2.333 Readme.txt
02/01/2018 13:40 50.790.400 testArchive.eft
04/01/2018 14:57 <DIR> udf
我使用 .NET 中的嵌入式 FB,但我仍然将 firebird.msg 文件保存在与应用程序相同的文件夹中。并且 intl 和 udf 文件夹没有嵌套在 FBE 或某个文件夹中。我会说您将文件夹设置为 FBE,它也在寻找二进制文件。 这看起来也像布局 supposed 的样子。
谢谢大家帮我解决了这个问题。
感谢Arioch的建议,我终于找到了解决方案。
使用 Microsoft Process Monitor 我能够检测到我的应用程序在其中寻找客户端库的文件夹。然后我注意到它们是在 PATH 环境变量中指定的相同文件夹。
所以我将包含我的 Python 文件的文件夹添加到 PATH 变量,一切终于成功了。