使用 Python 在 Windows 上连接到 Firebird
Connecting to Firebird on Windows with Python
我已经脑袋坏了,问题出在哪里呢
import fdb
con = fdb.connect(host='localhost',
database='//soulu.fdb',
user='sysdba',
password='masterkey',
charset='WIN1251'
)
我得到了这个结果。
已经尝试了所有变体:使用字符集 utf8,win1251:使用 dsn,使用单独的主机和数据库参数。 运行 ubuntu 下的 windows 脚本。没有任何帮助。
Traceback (most recent call last):
File "C:\Users\ko-ov\Documents\Albatros\db for upload\loader.py", line 8, in <module>
charset='WIN1251'
File "C:\Users\ko-ov\AppData\Local\Programs\Python\Python36-32\lib\site-packages\fdb\fbcore.py", line 734, in connect
"Error while connecting to database:")
File "C:\Users\ko-ov\AppData\Local\Programs\Python\Python36-32\lib\site-packages\fdb\fbcore.py", line 560, in exception_from_status
msglist.append('- ' + (msg.value).decode('utf_8'))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
我发现了问题(@MarkRotteveel 通过他的评论证实了这一点)。
我的解决方案是从旧版 2.0.5!
更新到版本 2.5.x
在官方页面http://www.firebirdsql.org/en/devel-python-driver/ 作者写道,支持 2.0 及更高版本,理论上所有版本都应该适用于 2.0.5 没有任何问题,但在这种情况下不是。
可能是 Win10、python3.6 和 firebird 2.0.5 的组合问题。
我已经脑袋坏了,问题出在哪里呢
import fdb
con = fdb.connect(host='localhost',
database='//soulu.fdb',
user='sysdba',
password='masterkey',
charset='WIN1251'
)
我得到了这个结果。 已经尝试了所有变体:使用字符集 utf8,win1251:使用 dsn,使用单独的主机和数据库参数。 运行 ubuntu 下的 windows 脚本。没有任何帮助。
Traceback (most recent call last):
File "C:\Users\ko-ov\Documents\Albatros\db for upload\loader.py", line 8, in <module>
charset='WIN1251'
File "C:\Users\ko-ov\AppData\Local\Programs\Python\Python36-32\lib\site-packages\fdb\fbcore.py", line 734, in connect
"Error while connecting to database:")
File "C:\Users\ko-ov\AppData\Local\Programs\Python\Python36-32\lib\site-packages\fdb\fbcore.py", line 560, in exception_from_status
msglist.append('- ' + (msg.value).decode('utf_8'))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd3 in position 0: invalid continuation byte
我发现了问题(@MarkRotteveel 通过他的评论证实了这一点)。 我的解决方案是从旧版 2.0.5!
更新到版本 2.5.x在官方页面http://www.firebirdsql.org/en/devel-python-driver/ 作者写道,支持 2.0 及更高版本,理论上所有版本都应该适用于 2.0.5 没有任何问题,但在这种情况下不是。
可能是 Win10、python3.6 和 firebird 2.0.5 的组合问题。