我已经弄坏了,问题出在哪里。
import fdb
con = fdb.connect(host='localhost',
database='//soulu.fdb',
user='sysdba',
password='masterkey',
charset='WIN1251'
)
我得到了这个结果。 已经尝试过所有变种:使用charset 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
答案 0 :(得分:1)
我发现了问题(@MarkRotteveel通过他的评论证实了这一点)。 对我来说,解决方案是对旧版2.0.5版本2.5.x的更新!
在作者写的官方页面http://www.firebirdsql.org/en/devel-python-driver/上,支持版本2.0及更高版本,理论上所有版本都应该适用于2.0.5而没有任何问题,但在这种情况下不行。
组合Win10,python 3.6和firebird 2.0.5可能会出现问题。