在cx中跨Oracle模式查询_

2024-04-20 02:21:27 发布

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

我可以使用sqlplus登录到我的oracle实例:

$ env | grep -E '(TWO|SID)'
TWO_TASK=TEST
$ sqlplus me/my_password@TEST

然后我可以运行以下查询而不会出现问题:

^{pr2}$

但是,在我的python代码中,使用cx_Oracle,并使用以下代码(即相同的查询):

def get_oracle( user, password, tns='TEST' ):
    db = cx_Oracle.connect( user, password, tns )
    cursor = db.cursor()
    return cursor

db = get_oracle( 'me', 'my_pass' )
db.execute("""
select
  persons.person.key AS id,
  persons.person.lname as lastname,
  persons.person.fname as firstname,
  sid.organizations.org_code as org,
  sid.organizations.division_code as division,
  sid.organizations.directorate_code as directorate,
  persons.person.status as status
from
   persons.person,
   sid.organizations
where
   persons.person.dept_id=sid.organizations.org_id;
""")
for r in db:
    pass

结果得到以下错误:

cx_Oracle.DatabaseError: ORA-00911: invalid character

我确信我的其他问题也很好。在


Tags: orgtestiddbascodepasswordcursor