当iam运行我的oracle查询在服务器中显示500错误时。在oracle查询中选择clob字段时显示的错误。该字段包含大的json数据
错误是:
HTTP错误500.0 - 内部服务器错误C:\ php7.0.3 \ php-cgi.exe - FastCGI进程意外退出
此处查询:
SELECT knowyour.*,
kp.personal_details AS personal_details,
kp.fullname,
kcd.category,
kcd.ID AS kycID
FROM
(SELECT DISTINCT kc.kyc_reffer_id,
kc.ID,
kc.customer_id,
kc.json_details AS json_details,
kc.customer_joint_id,
kc.customer_id AS kycCustomer_id
FROM db.knwcustomer kc
) knowyour
INNER JOIN db.createdetails kcd
ON (knowyour.customer_id=kcd.customer_id)
INNER JOIN db.personaldetails kp
ON (knowyour.kyc_reffer_id=kp.kyc_reffer_id)
LEFT JOIN db.kaccountdetails kd
ON (knowyour.customer_id=kd.customer_id)
WHERE kcd.displayStatus!=:status
AND kcd.category=:category
AND kd.status!=:status
AND kp.status!=:status
AND kcd.client_id=:client_id
ORDER BY kcd.ID
这里status = -1
(查询在php pdo中运行)
这是一个示例查询。
personal_details和json_details是clob fields.Distinct在选择clob字段时不起作用,这就是我使用此查询方法的原因。
是代码问题还是服务器问题?但是这段代码在我的本地wamp服务器上运行得很好,而不是在在线服务器上。
我需要帮助!
答案 0 :(得分:0)
您是否尝试过查询具体表中的一个clob字段?
像:
SELECT CLOB_FIELD
FROM EX_TABLE;
如果这样可行,查询本身可能存在问题。您的查询非常复杂,可以隐藏一些问题。
答案 1 :(得分:0)
如果你在PDO中使用php,那么尝试设置如下属性
$dbConnection->setAttribute(PDO::ATTR_STRINGIFY_FETCHES,TRUE);
这会将所有列转换为字符串,无论其原始类型如何,并且不包含NULL列,也不会转换插入的数据。
通过设置它,它将与mysql甚至从oracle中获取相同的行为。