カントのpython informixdbでINSERTクエリの正しい構文を見つけるのpython informixdb経由でInformixのSQLの挿入構文を探して
- のpython 2.6.6
- PythonのINFORMIXDBバージョン2.5
- ドライバ名:IBM Informix- ESQL
- ドライバのバージョン:Debianのスクイズで3.50.FC8
がここにドキュメントだ - http://informixdb.sourceforge.net/manual.html#binding-parameters
>>> cursor.execute('INSERT INTO names VALUES(:first,:last,:age)',
... dict(first='some', last='body', age=56))
は、だから私は、たとえば
cursor.execute('INSERT INTO transit_auftrag_i VALUES(:auftragskey,:transitkunde,:status)',dict(auftragskey='erII',transitkunde='DMIeLE',status='OK'))
を試してみましたこれは私がしてください試みることができるものを任意のヒント私は、この例では何を得る
<class '_informixdb.ProgrammingError'>
('PREPARE', -236, [{'message': 'Insert value list does not match column list', 'sqlstate': '21S01'}])
<class '_informixdb.ProgrammingError'>
('DESCRIBE', -410, [{'message': 'Syntax error or access violation in PREPARE or EXECUTE IMMEDIATE', 'sqlstate': '37000'}])
Segmentation fault
のですか?
UPDATE:Informixの11.50.xC8
UPDATE
おかげで今のところ。私はエラーなしで実行される以下のクエリを実行しますが、カーソルからのメッセージもなく、何も挿入しません。もしあなたが示唆を持っていれば、それは素晴らしいでしょう。
cursor.execute("INSERT INTO transit_auftrag_i (auftragskey,transitkunde,status) VALUES (:a,:b,:c)", dict(a='A',b='B',c='C'))
と思われます。私はconn.autocommit = Trueを設定する必要がありました – groovehunter