Yii 개체를 테이블 마녀에 매핑하면 하나의 CLOB 열이 포함됩니다. 내가 행에 저장() 메서드 호출 ~ 54K 문자 길이 문자열로 삽입 할 수있는 방법오라클 11g에서 CLOB를 Yii 프레임 워크와 함께 사용하는 방법
?
Yii 개체를 테이블 마녀에 매핑하면 하나의 CLOB 열이 포함됩니다. 내가 행에 저장() 메서드 호출 ~ 54K 문자 길이 문자열로 삽입 할 수있는 방법오라클 11g에서 CLOB를 Yii 프레임 워크와 함께 사용하는 방법
?
YII는이를 BeforeSave()하고 액티브 모델의에서 afterSave() 이벤트 방법. 나는 save() 메소드를 오버라이드하는 대신에 그것들을 사용할 것이다. 거기에 필요한 오라클 메소드를 모두 넣으십시오. 기본적으로 beforeSave()의 필드를 null로 설정 한 후 afterSave()는 OCIParse() 등을 사용하여 DB에 값을 씁니다.
다음은 Cake PHP 프레임 워크를 사용하는 블로그에 관한 좋은 기사입니다. 매우 유사합니다 (MVC와 저장 메소드 전후). 당신은 분명히 YII, 작업이 코드를 수정해야합니다,하지만 바른 길에 당신을 얻을해야합니다 YII의 최신 버전은 이제 너무 쿼리 빌더를 가지고
http://nik.chankov.net/2008/01/03/cakephp-and-oracle-handling-clob-fields/
, 일부의 수 있습니다 afterSave() 코드에 도움이 당신이 작성해야합니다
http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder
행운을 빕니다!
나는 지금 그것을 해결한다. oracle 11g에서 BLOB를 사용해야합니다. oracle 테이블에 이미지를 삽입하고 싶습니다.
나는 마침내 내가 enter link description here에서 아마 해결책을 발견, 그물 주위 모두를 검색 할 수 있습니다.
클릭하십시오.
나는 내가 대신
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
에 의해
$db = Yii::app()->db->getPdoInstance()
으로 $ DB를 얻고 다른 일들이 모두 동일 예제 # 2
<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // some function to allocate a new ID
// assume that we are running as part of a file upload form
// You can find more information in the PHP documentation
$fp = fopen($_FILES['file']['tmp_name'], 'rb');
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);
$db->beginTransaction();
$stmt->execute();
$db->commit();
?>
을 따르십시오.
행운을 빈다.
Heh, 내 질문에 깜빡;] 나는 PDOStatement :: bindValue를 PDO :: PARAM_STR 및 length param을 afterSave 이벤트의 strlen으로 채우고 사용했으며이 방법은 현재 작동합니다. 어쨌든 감사와 +1 – canni