为什么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 * from table;”时却没有任何结果。请问我在使用cx_Oracle时有没有什么地方没注意到,或者在连接到远程数据库时,Oracle客户端是否有缓存,导致sqlplus显示的是旧的结果呢?
2 个回答
0
我遇到了一个反向的问题:我用sqlquery添加了很多行数据,折腾了两个小时后,看到了一篇帖子,才明白原来我应该关闭我的会话。我关掉了控制台,结果成功拿到了我的数据!
4
你有没有提交你的插入操作?
con.commit() #after inserts
或者
con.autocommit = true #before inserts