CX_ORACLEとSQLPLUSが同じ選択クエリに対して異なる結果をもたらす理由

StackOverflow https://stackoverflow.com/questions/5880602

  •  28-10-2019
  •  | 
  •  

質問

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時間の苦しみの後、この投稿を読んで、セッションを閉じるべきだと思います。コンソールを閉じて、データを取得することができました!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top