2015-05-26 2 views
0
  • Я установил Postgres.app и начал его.
  • У меня установлен пипп pypyodbc
  • Я скопировал приветственные строки мира из документов Pypyodbc и получил ошибку . какие идеи могут возникнуть?

Вот мой кодИспользование postgres через ODBC в python 2.7

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 

, что я делаю неправильно?

Должен ли я как-то сначала инициализировать БД/таблицы? это странная ошибка, если это проблема.

+0

Does Postgres. приложение действительно включает драйвер ODBC? Быстрый взгляд на его [домашнюю страницу] (http://postgresapp.com/), кажется, предполагает, что это не так. –

+0

Gord, проблем нет. На моей Fedora я использовал 'yum install postgresql-odbc' и установил unixodbc и другие необходимые пакеты. Для Windows есть отдельный установщик. Я использую их драйвер ODBC, и я думаю, что это один из лучших драйверов ODBC, которые я знаю (у меня были некоторые проблемы с драйверами Oracle и Informix, в то время как PostgreSQL работает). –

+0

Я думаю, что драйвер ODBC установлен правильно, но есть проблема с ConnectString. –

ответ

0

Я скопировал свой код на моей 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/