forked from IBM/python-itoolkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathisql_callproc.py
36 lines (32 loc) · 947 Bytes
/
isql_callproc.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import config
from itoolkit import *
itool = iToolKit(iparm=1)
sql = "DROP PROCEDURE XMLSERVICE/FLUBBER\n"
itool.add(iSqlQuery('crt', sql))
itool.add(iSqlFree('free0'))
sql = "CREATE PROCEDURE XMLSERVICE/FLUBBER(IN first_name VARCHAR(128), INOUT any_name VARCHAR(128))\n"
sql += "LANGUAGE SQL\n"
sql += "BEGIN\n"
sql += "SET any_name = 'Flubber';\n"
sql += "END\n"
itool.add(iSqlQuery('crt', sql))
itool.add(iSqlFree('free1'))
itool.add(iSqlPrepare('callflubber', "call XMLSERVICE/FLUBBER(?,?)"))
itool.add(
iSqlExecute('exec')
.addParm(iSqlParm('myin','Jones'))
.addParm(iSqlParm('myout','jjjjjjjjjjjjjjjjjjjjjuuuuuuuuuuuuuuuunnnnnnnnnkkkkkkkkkkkk'))
)
itool.add(iSqlFree('free2'))
# print(itool.xml_in())
# exit()
# xmlservice
itool.call(config.itransport)
# print(itool.xml_out())
# output
FLUBBER = itool.dict_out('exec')
if 'error' in FLUBBER:
print (FLUBBER['error'])
exit()
else:
print ('myout = ' + FLUBBER['myout']['data'])