为什么使用cx Oracle的插入脚本挂起

2024-04-16 23:51:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我不熟悉Python,使用cx_甲骨文.execute在表中插入行。在

我准备了insert语句,它适用于sqldeveloper。在

execute之前的print语句表示它挂起在execute上。 一个简单的select语句使用同一个包工作。在

  • Python版本是2.7
  • Oracle版本为11g
  • cx\u Oracle版本为5.2.1
  • Eclipse是4.4.2
  • Pydev是4.5.5

我也在水蟒身上试过,结果是一样的。在

import cx_Oracle

Connection = cx_Oracle.connect('connectioninfo')
cursor = connection.cursor()
print(cx_Oracle.__file__) 
print(cx_Oracle._version)

sql1 = "insert into date_dim(dateid) values (20170523)"
print(sql1)
cursor.execute(sql1) # hangs here 
count = cursor.rowcount 

print(count)
connection.commit() # Never gets to this statement        
cursor.close()
connection.close()

Tags: 版本closeexecutecount语句connectionselectcursor
1条回答
网友
1楼 · 发布于 2024-04-16 23:51:08

看起来我在Sql Developer上打开了另一个会话来测试insert脚本,我从来没有运行过一个Commit,所以当我运行Python insert脚本时,不知怎么的,它在等待另一个Commit的发出,这样它就可以发出自己的Commit,这是代码中的下一行,但另一个Commit从未在Sql Developer中发出过!当我在sqldeveloper中运行commit时,Python就完成了插入。你知道什么?在Stackoverflow上发布了我的第一个问题和我第一个问题的第一个答案,这肯定是第一个!在

相关问题 更多 >