为什么cx_Oracle和sqlplus为同一个select查询提供不同的结果

时间:2011-05-04 08:26:35

标签: python sqlplus cx-oracle

通过使用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中使用select查询,我可以看到插入的行。但是,当我输入“select * from table;”时,sqlplus没有结果。 有没有我错过了关于cx_Oracle的东西,或者oracle客户端中是否有一个缓冲区,它在连接到远程数据库时显示sqlplus的旧结果?

2 个答案:

答案 0 :(得分:4)

你承诺过插入吗?

con.commit() #after inserts

con.autocommit = true #before inserts

答案 1 :(得分:0)

我有一个倒置的问题:我使用sqlquery添加了行,经过2个小时的痛苦阅读这篇文章并猜测,我应该关闭我的会话。我关闭了控制台并设法获取我的数据!