【发布时间】:2016-10-22 19:12:08
【问题描述】:
我需要什么
我需要从存储过程中获取json数据
我有很多谷歌但无法解决问题
源代码
$param1 = 'abc';
$param2 = '79';
$param3 = 'Y';
$param4 = 121221;
$sql1='CALL web_demo.wwv_json_data.dashboard(:param1, :param2 , :param3, :param4,@p_json)';
$qb = $em->getConnection()->prepare($sql1);
$qb->bindParam('param1', $param1, \PDO::PARAM_INPUT_OUTPUT, 4000);
$qb->bindParam('param2', $param2, \PDO::PARAM_INPUT_OUTPUT, 4000);
$qb->bindParam('param3', $param3, \PDO::PARAM_INPUT_OUTPUT, 1);
$qb->bindParam('param4', $param4, \PDO::PARAM_INPUT_OUTPUT, 4000);
$st=$qb->execute();
$st->closeCursor();
$stmt = $qb->query("SELECT @p_json as json");
$result = $qb->fetchAll(PDO::FETCH_ASSOC);
程序
PROCEDURE dashboard
(p_customer_id IN VARCHAR2 DEFAULT NULL, p_user_id IN VARCHAR2 DEFAULT NULL, p_staff IN VARCHAR2 DEFAULT NULL,p_random IN VARCHAR2 DEFAULT NULL,out p_json clob)
END dashboard
oracle sql 开发者代码
DECLARE
v clob;
BEGIN
web_demo.wwv_json_data.dashboard('abc','79','Y',121221,v);
dbms_output.put_line(v);
END;
返回 json
{"data":[{"open_log":46,"to_m":34,"to_clien":12,"to_m":0}]}
错误
An exception occurred while executing 'CALL web_demo.wwv_json_data.dashboard(:param1, :param2 , :param3, :param4,@p_json)':
SQLSTATE[HY000]: General error: 936 OCIStmtExecute: ORA-00936: missing expression
(ext\pdo_oci\oci_statement.c:148)
- 我用谷歌搜索发现 OUT 可以访问光标数据。
我需要什么
- 我需要从存储过程中获取json数据。
-
我正在访问这样的变量
$stmt = $qb->query("SELECT @p_json as json"); $result = $qb->fetchAll(PDO::FETCH_ASSOC); 谁能帮助我如何通过在 oracle 和 symfony2 中使用 out 变量来获取数据。
【问题讨论】:
标签: php json oracle symfony doctrine