使用Python

时间:2017-05-20 18:17:54

标签: python firebird

我已经弄坏了,问题出在哪里。

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

1 个答案:

答案 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可能会出现问题。