为什么 cx_Oracle 和 sqlplus 对于相同的选择查询给出不同的结果

发布于 2024-11-05 13:38:33 字数 508 浏览 5 评论 0原文

通过使用 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 * from table;”时,sqlplus没有给出任何结果。 我是否错过了关于 cx_Oracle 的某些内容,或者 oracle 客户端中是否有一个缓冲区,在连接到远程数据库时显示 sqlplus 的旧结果?

By using Python and cx_Oracle, I am trying to insert rows to a table.

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()

After insert all the rows from an input file, by using select query in cx_Oracle, I can see the inserted rows. However, sqlplus gives no results when I enter "select * from table;"
Is there something that I missed about cx_Oracle or is there a buffer in oracle client that shows the old results with sqlplus when it is connected to a remote db?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吖咩 2024-11-12 13:38:33

您已提交插入内容吗?

con.commit() #after inserts

或者

con.autocommit = true #before inserts

Have you committed your insert?

con.commit() #after inserts

or

con.autocommit = true #before inserts
爺獨霸怡葒院 2024-11-12 13:38:33

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

I had an inverted problem: I added rows using sqlquery and after 2 hours of suffering read this post and guess, that I should close my session. I closed the console and managed to get my data!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文