Привет.
Я нашел один пример, не очень “правильный” в плане синтаксиса, но у меня работает:
import cx_Oracle
user = 'viewer'
password = '****'
db = 'test'
def db_conn(u=user, p=password, d = db):
return u + "/"+ p + "@" + d
def compare_func(func, param, sql2):
sql1 = 'select ' + func + '(' + param + ') from dual'
try:
connection = cx_Oracle.connect(db_conn())
cur1 = connection.cursor()
cur2 = connection.cursor()
cur1.execute(sql1)
cur2.execute(sql2)
print 'cur1' + str(cur1.fetchall())
print 'cur2' + str(cur2.fetchall())
if cur1.fetchone() == cur2.fetchone():
print "Function \n " + func + " is ok"
else:
print sql1
except cx_Oracle.DatabaseError, exc:
error = exc.args
print >> sys.stderr, "Oracle-Error-Code:", error.code
print >> sys.stderr, "Oracle-Error-Message:", error.message
finally:
cur1.close()
cur2.close()
connection.close()
compare_func('user1.sdk_person.get_personIDbyAccount', """'USER', 93028""" , """select person_id from user1.person_account where object_id= 93028 and object_class = 'USER'""")