Описание проблемы:
Выполнение python-кода:
import fdb
con = fdb.connect(dsn='127.0.0.1/3050:base.fdb', user='SYSDBA', password='masterkey', charset='WIN1251')
прерывается ошибкой:
Traceback (most recent call last):
File "try.py", line 4, in <module>
con = fdb.connect(dsn='127.0.0.1/3050:base.fdb', user='SYSDBA', password='masterkey')
File "C:\python38-32\\lib\site-packages\fdb\fbcore.py", line 800, in connect
load_api(fb_library_name)
File "C:\python38-32\\lib\site-packages\fdb\fbcore.py", line 231, in load_api
setattr(sys.modules[__name__], 'api', ibase.fbclient_API(fb_library_name))
File "C:\python38-32\\lib\site-packages\fdb\ibase.py", line 1385, 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.
Решение:
Создаем строковый параметр, который указан в строках немногим выше той, что указана в этой строке стека ошибки:
File "C:\python38-32\\lib\site-packages\fdb\ibase.py", line 1385, in __init__
например, "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Firebird Project\Firebird Server\Instances\DefaultInstance" с путем до программной папки Firebird, например, "C:\firebird\3.0.6.33328-0_x64\".
Создаем папку "C:\firebird\3.0.6.33328-0_x64\bin\".
Копируем туда "C:\firebird\3.0.6.33328-0_x64\bin\fbclient.dll" разрядности "x32".