我已經打破了我的頭,問題在哪裏。用Python連接到Windows上的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
哪個版本的Firebird和哪個版本的FDB? –
@MarkRotteveel謝謝!已經發現問題的根源:)真的,2.0.5版本非常古老,它已經安裝在我的筆記本電腦上(只有一個罕見的舊程序默認使用這個版本,並將其安裝在系統中)。我更新到2.5.x,一切正常。 – konstov