1. 程式人生 > >py呼叫oracle的儲存過程,注意procedure的out取值方式

py呼叫oracle的儲存過程,注意procedure的out取值方式

#!/usr/bin/env python
import sys
import csv
import cx_Oracle
import codecs
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

conn = cx_Oracle.connect("vivigsrp", "vivigsrp", "10.1.1.210/orcl")
curs = conn .cursor()

str1='nice'
str2='    '

#x=curs.callproc('p_demo',[str1,str2])  #x返回的是個array型別的in  out組成

lstr1,lstr2=curs.callproc('p_demo',[str1,str2])
print(str2) #這個是取不到返回的out引數的
print(lstr1) #這個是in引數
print(lstr2) #這個是out引數


str2=curs.callfunc('f_demo',cx_Oracle.STRING,[str1])
print(str2) 

curs.close()
conn.close()