大きなリストからcx_oracleを使用して複数のタイムスタンプクエリを送信しようとしています。私はarticle実行ごとに1つのクエリを送信して見てきましたが、私はexecutemanyを使用して複数を実行するとどの例も見ていません。複数のタイムスタンプのリストをどのように取得するのですか?私は以下を作ったが、運はなかった!私が接続していcx_oracle.execute_manyを使用して複数のタイムスタンプクエリを含むリストを送信
import datetime
import cx_Oracle
listrows =[
[56, 'steveJob', 'Apple', '2016-08-15 20:23:03.317909', '2015-09-08 20:46:30.456299', ''],
[32, 'markZuck', 'Faceb', '2015-09-08 20:46:30.456299', '2015-09-08 20:46:30.456299', ''],
[45, 'elonMusk', 'Tesla', '2016-02-18 16:53:20.959984', '2016-02-18 17:17:05.664715', '']
]
con = cx_Oracle.connect("system","oracle","localhost:1521/xe.oracle.docker")
cursor = con.cursor()
cursor.prepare("""INSERT INTO lifexp (age, name, lastcompany, created_at, deleted_at, turnout) VALUES (:1,:2,:3,:4,:5,:6)""")
cursor.setinputsizes(cx_Oracle.TIMESTAMP)
cursor.executemany(None, listrows)
con.commit()
cursor.close()
con.close()
私のテーブルには、このようセットアップです:
TypeError: expecting timestamp data
私はライン「cursor.setinputsizesを削除(cx_Oracle:
CREATE TABLE lifexp(
age NUMBER (19,0) primary key,
name VARCHAR(256),
lastcompany VARCHAR(256),
created_at timestamp,
deleted_at timestamp,
turnout timestamp
);
私はエラーを取得します。 TIMESTAMP) "私は得る:
cx_Oracle.DatabaseError: ORA-01843: not a valid month
タイムスタンプクエリのリストまたはタイムスタンプ値のリスト? –
@DanBracuk文字列と数字の混合リスト2はタイムスタンプ値文字列で、1はヌルタイムスタンプ値文字列( '')です。 –