为什么cx_Oracle和sqlplus对相同查询的结果不同

0 投票
2 回答
862 浏览
提问于 2025-04-16 16:57

我正在使用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

撰写回答