本文实例简述了PHP处理Oracle的CLOB的方法。分享给大家供大家参考。具体方法如下:
1. 写入数据
在使用PDO的预处理方法时,如果使用bindParam()等而不指定字段的数据类型或使用execute(),PDO都会默认为string类型,并且限定一个默认长度
所以在存clob类型字段时必须使用bindParam()或bindValue()等,并指定字符串长度,例如:
$pdo -> bindParam(':clobData', $clobData, PDO::PARAM_STR,strlen($clobData));
2. 读取数据
PDO取出的CLOB字段值在该字段不为空时是资源标识符,为空时为空字符串,取数据方法如下
$arr = $pdo -> fetch(); is_resource($arr['clob']) && $arr['clob'] =stream_get_contents($arr['clob']);
希望本文所述对大家的PHP程序设计有所帮助。
问题内容: 我试图将一个超过4000个字符的值写入Oracle Clob字段。这似乎是一个普遍的问题,但是似乎没有解决方案可以奏效。所以我从这里祈祷寻求帮助。 故障和肮脏的信息:使用Oracle 9.2.0.8.0 Hibernate3实现带有注释 Tomcat的pojo Tomcat 6.0.16 Oracle 10.2.x驱动程序 C3P0连接池提供程序 在我的persistence.xml中
使用java和jmstemplate,我试图用包含CLOB字段的有效负载将消息编入oracle队列。 我的问题是你是怎么做这种事的?在谷歌上,有各种各样的建议表明我必须: 用空加载对消息进行排队 使用步骤1中创建的消息id从队列表中检索usr_data 将clob写入队列表。 约安。
问题内容: 我有一张带有Clob列的表。需要执行基于Clob列内容的搜索。然而 失败但 似乎很好。oracle如何处理Clob列上的过滤。它仅支持’like’子句,不支持=,!=等。是否与其他数据库(如mysql,postgres等)相同 另外,在像Hibernate这样的实现JPA的框架中如何处理这种情况? 问题答案: 是的,这是不允许的(此限制不影响S IN PL / SQL比较)采用比较运营
我知道我可以添加函数/存储proc来完成这项工作。性能方面非常重要,所以我问是否有一种方法可以通过直接将数据推入CLOB来克服32K的限制。
//大家好。我的问题是我不能在clob字段中写大日期。curentli我可以写长度不大于4000的字符串。你能解释一下为什么我不能写clob到clob字段。我正在使用: Oracle数据库11g企业版11.2.0.1.0 列表项hibernate 4.2.6.final 列表项ojdbc 11.1.0.7.0 我的恩典是: 我更新entety的代码: 我尝试了几种方法来创建Clob:
问题内容: 我有这样的代码: 实际上,我的表名是CARS,但不是CAR。但是oracle无法处理此异常,并给我一个错误ORA-00942:表或视图不存在。我该如何处理该异常? 问题答案: 您不能使用静态SQL来做到这一点。当代码正在编译而不执行时,将出现错误。尝试以下方法: