Использование postgres через ODBC в Python 2.7
- Я установил Postgres.app и запустил его.
- У меня установлен pip pypyodbc
- Я скопировал привет мировые линии из документации Pypyodbc, и получил ошибку ниже. есть идеи, в чем может быть проблема?
Вот мой код
from __future__ import print_function
import pypyodbc
import datetime
conn = pypyodbc.connect("DRIVER={psqlOBDC};SERVER=localhost")
И я получаю эту ошибку:
File "/ob/pkg/python/dan27/lib/python2.7/site-packages/pypyodbc.py", line 975, in ctrl_err
err_list.append((from_buffer_u(state), from_buffer_u(Message), NativeError.value))
File "/ob/pkg/python/dan27/lib/python2.7/site-packages/pypyodbc.py", line 482, in UCS_dec
uchar = buffer.raw[i:i + ucs_length].decode(odbc_decoding)
File "/ob/pkg/python/dan27/lib/python2.7/encodings/utf_32.py", line 11, in decode
return codecs.utf_32_decode(input, errors, True)
UnicodeDecodeError: 'utf32' codec can't decode bytes in position 0-1: truncated data
Что я делаю неправильно?
Нужно ли сначала как-то инициализировать БД / таблицы? это странная ошибка, если это проблема.
1 ответ
Я скопировал ваш код на мою машину Fedora, и он начался, когда я изменил строку подключения на что-то вроде:
conn = pypyodbc.connect("Driver={PostgreSQL};Server=IP address;Port=5432;Database=myDataBase;Uid=myUsername;Pwd=myPassword;")
Вы можете найти больше строк подключения для PostgreSQL и ODBC по адресу: https://connectionstrings.com/postgresql-odbc-driver-psqlodbc/