PHP运用oci连接方式调用Oracle数据库中的Function(传入和返回的参数都是clob格式)

话不多说,直接上代码:

$string = "[{'PO_NO':'605801','PO_LINE_NO':'1','PO_RELEASE_NO':'1','PO_PART_NO':'682004AF1A','PO_QTY':5,'CUSTOMER_ID':'ACC000G00','PROMISED_DELIVERY_DATE':'20171017','CO_COMPANY':'3909'},{'PO_NO':'605801','PO_LINE_NO':'2','PO_RELEASE_NO':'1','PO_PART_NO':'272106W81C','PO_QTY':45,'CUSTOMER_ID':'ACC000G00','PROMISED_DELIVERY_DATE':'20171017','CO_COMPANY':'3909'},{'PO_NO':'605802','PO_LINE_NO':'1','PO_RELEASE_NO':'2','PO_PART_NO':'682004AF1A','PO_QTY':5,'CUSTOMER_ID':'ACC000G00','PROMISED_DELIVERY_DATE':'20171017','CO_COMPANY':'3909'}]";

$user_name_ck = '';
$pass_ck = '';
$dbConnStr_ck = '//172.28.241.**/TEST';

//连接数据库
try{  
        $dbconn_ck = oci_connect($user_name_ck, $pass_ck, $dbConnStr_ck, 'AL32UTF8')  or die (translateConstant('Database connect failed.').oci_error());
    }catch (ErrorException $ex){ 
echo translateConstant('Could not connect to the database. Please contact your administrator.');    
    }catch(Exception $e){
       
    } 

// 创建一个新的clob描述符
$lobout = oci_new_descriptor($dbconn_ck, OCI_DTYPE_LOB); 

// 传入的字符串
$lobin = $string;
 
$sql_ck = "DECLARE LOBOUT CLOB;BEGIN :LOBOUT := IFSAPP.WEBEDI_INTER_ORDER_RESULT_API.Create_Inter_Order_Json(:LOBIN); END;";

$stid_ck = oci_parse($dbconn_ck, $sql_ck);

oci_bind_by_name($stid_ck,':LOBIN', $lobin);

oci_bind_by_name($stid_ck,':LOBOUT',$lobout, -1 , SQLT_CLOB);

$result_ck = oci_execute($stid_ck);
if(!$result_ck){
echo '%Get data failed!';
return;
}

// 取得返回的json类型字符串
$return_string = $lobout->load();

// 释放clob资源
$lobout -> free();

PHP处理json字符串,格式化为类似于PHP二维数组的格式:

$return_json = json_decode($return_string, true);

取数据方式:

$return_json[0]['PO_NO']

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值