我的头撞在桌子上。在
我的cxu Oracle游标没有返回有效查询的行,我无法找出原因。在
同一连接从同一架构中的其他表返回预期结果。。。例如,如果我简单地将查询中被引用的表名从table_A更改为table_B,则可以正常工作。在
在使用相同的用户/连接字符串的sqldeveloper/sqlplus中,查询可以正常工作。我是从游标.语句在调试期间验证完全相同的语句,没有输入错误。在
我已将查询简化为最简单的形式
1. select * from SCHEMA.TABLE_A
以及
^{pr2}$使用cx_Oracle执行查询1时不返回行,但在SQLPlus/sqldeveloper等中确实返回预期的行
查询2使用cx\u Oracle按预期工作
我有验证权限,但这显然是在工作,因为我使用(并验证)cx_Oracle中的用户/连接与SQL工具中的相同。在
代码再也不能简化了,我不认为是为了隔离问题,但我可能对一些非常明显的东西视而不见:
import cx_Oracle
db_conn=cx_Oracle.connect('user/password@localhost:1521/TEST_PDB')
cur = db_conn.cursor()
qry = 'select * from SCHEMA_NAME.TABLE_A'
cur.execute(qry)
{cx_Oracle.Cursor on {cx_Oracle.Connection to user@localhost:1521/TEST_PDB}}
cur.fetchall()
[]
cur.rowcount
0
但是,另一个表/查询可以工作:
qry = 'select * from SCHEMA_NAME.TABLE_B'
cur.execute(qry)
cur.fetchall()
[(12320573611891L, '23.5.2126981', 0, 'NEW', 'UPDATE', datetime.datetime(2016, 5, 24, 9, 0), 48, 0, None, None )]
这是我迄今所知的唯一一个遇到此问题的表。在
我使用的是Oracle12c、Python2.7.1164bit、ojdbc6.jar和64位InstantClient
有什么想法吗? 发现我的眼睛或大脑看不到明显的东西吗?在
我发现我对这个问题视而不见。在
记录没有提交。 我能够使用同一个用户查询插入它们的会话(sqldeveloper)中的记录。在
导致了“到底发生了什么” 我早该知道的。在
相关问题 更多 >
编程相关推荐