今天朋友电话问如何利用Oracle直接调用WebService , 就帮他利用utl_dbws包实现了下,后来发现通过utl_http也可以实现,
并不需要另外安装东西。这次主要说说utl_dbws.
utl_dbws包下载地址(包含10G,11G): https://oracle-base.com/articles/10g/utl_dbws-10g
由于朋友系统是windows 的,就以window为例。
一、utl_dbws包安装:
1、下载解压缩后 目录里有samples,sqlj 两个文件夹,并复制到 ORACLE_HOME目录下。
2、WINDOW 在 ORACLE_HOME/sqlj/lib 目录 执行下列命令
//10G 数据库执行
loadjava -u sys/123456 -r -v -f -genmissing -s -grant public dbwsclientws.jar dbwsclientdb102.ja
//11G 数据库执行
loadjava -u sys/123456 -r -v -f -genmissing -s -grant public dbwsclientws.jar dbwsclientdb11.jar
3、跑相关脚本与授予权限
10G数据库不需要跑脚本
11G 数据库要跑的脚本并授予权限
sql>@?/sqlj/lib/utl_dbws_decl.sql
sql>@?/sqlj/lib/utl_dbws_body.sql
sql>CREATE PUBLIC SYNONYM utl_dbws FOR sys.utl_dbws;
sql>GRANT EXECUTE ON sys.utl_dbws TO test; ---给需求用户授予权限
至此安装已经完成了。在库中检查下是否有 utl_dbws包了。
二、调用WebService
1、创建Function
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31073708/viewspace-2071962/
,如需转载,请注明出处,否则将追究法律责任。