2011-05-04 94 views
0

通过使用Python和cx_Oracle,我试图将行插入到表中。为什么cx_Oracle和sqlplus为相同的select查询提供不同的结果

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的旧结果?

+0

可能与你的问题没有关系,但不应该'除了cx_Oracle,exc:'有点像'cx_Oracle.EXCEPTION_NAME除外,exc:'? ' – 2011-05-04 08:35:33

回答

4

你承诺你的插入?

con.commit() #after inserts 

con.autocommit = true #before inserts 
+0

谢谢你,这是我错过了。 – miette 2011-05-04 08:52:21

0

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

+0

这是一个答案或评论? – 2012-10-28 19:15:30

相关问题