2016-12-26 6 views
0

私はpyodbc 3.0.10とPostgreSQL 9.6をネイティブPostgre ODBCドライバ(Postgre Unicode(x64))を使って使用しています。私はテストテーブルを作成しましたPostgreとpyodbcのブール値は互換性がありませんか?

create table test (col boolean) 

そして私はPythonブール値を挿入しようとしました。どのようなパラメータの置換が行われたのかわかりませんが、pyodbcはPostgreSQLのすべてのデータ型で動作するようには見えません。あなたのODBC接続文字列の末尾にBoolsAsChar = 0 ';ゴード・トンプソンは、先に指摘したよう

In [3]: cur = cxn.cursor() 

In [4]: cur.execute('insert into test values (?)', (True,)) 
--------------------------------------------------------------------------- 
ProgrammingError       Traceback (most recent call last) 
<ipython-input-4-5a0edc50457d> in <module>() 
----> 1 cur.execute('insert into test values (?)', (True,)) 

ProgrammingError: ('42804', '[42804] ERROR: column "col" is of type boolean but 
expression is of type "char";\nError while preparing parameters (1) (SQLExecDirectW)') 
+0

てみてください;BoolsAsChar=0を追加しています。それは私の問題を解決したようです。 –

+0

それはうまくいった、ありがとう! – swmfg

答えて

1

は、あなたがしなければならないすべては、接続文字列に `追加

関連する問題