0
  • 我已经安装了 Postgres.app 并启动​​了它。
  • 我已经 pip 安装了 pypyodbc
  • 我从 Pypyodbc 文档中复制了 hello world 行,并收到以下错误。任何想法可能是什么问题?

这是我的代码

  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

我究竟做错了什么?

我需要先以某种方式初始化数据库/表吗?如果这是问题,这是一个奇怪的错误。

4

1 回答 1

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/

于 2015-05-29T12:27:19.057 回答