CX_ORACLEとSQLPLUSが同じ選択クエリに対して異なる結果をもたらす理由
質問
PythonとCX_ORACLEを使用することで、テーブルに行を挿入しようとしています。
con = cx_Oracle.connect(ORACLE_USER+'/'+PASS+'@'+TNS)
cursor = con.cursor()
...
try:
cursor.executemany("INSERT INTO table(ID,NAME) VALUES(...)"
except cx_Oracle,exc:
error ,=exc.args
print error.code
print error.message
cursor.close()
con.close()
入力ファイルからすべての行を挿入した後、CX_ORACLEで選択クエリを使用して、挿入された行を見ることができます。ただし、sqlplusは、「テーブルからselect *」を入力すると結果が得られません。 CX_ORACLEについて見逃したものはありますか、それともOracleクライアントに、リモートDBに接続されているときにSQLPLUSで古い結果を示すバッファーがありますか?
解決
挿入物をコミットしましたか?
con.commit() #after inserts
また
con.autocommit = true #before inserts
他のヒント
逆の問題がありました。SQLQueryを使用して行を追加し、2時間の苦しみの後、この投稿を読んで、セッションを閉じるべきだと思います。コンソールを閉じて、データを取得することができました!
所属していません StackOverflow