0
16ビットの16進数のリスト(たとえば、 '61C7393AA9B3474DB081C7B7CCE1C545')を含むテキストファイルがあり、cx_Oracleを使用してOracle RAW列を挿入する必要があります。 私はこの試みた:cx_oracleを使用して16進数文字列をPythonでバイナリに変換する方法
sql = "INSERT INTO GUIDS VALUES (HEXTORAW(:1))"
ids = [l.strip() for l in guidfile.readlines()]
cursor.bindarraysize = len(ids)
cursor.setinputsizes(cx_Oracle.BINARY)
cursor.executemany(sql, ids)
をそれはcx_Oracle.DatabaseErrorで失敗:ORA-01036:不正な変数名/番号。 executemanyを呼び出す前に、値をバイナリに変換する必要がありますか?そしてもしそうなら、どのように?注意:同じsqlはcursor.executeと単一の値でうまく動作しますが、リストには問題があります。