php+오라클연동시..
환경 :서버1-리눅스, php5, oracle 9 (클라이언트로사용)
서버2-솔라리스,oracle 8.1.7.0 버젼(디비서버)
php에서 오라클디비서버를 연동할려고 합니다.
php에서 oci함수를 사용해서 디비서버와 연결은 되는데요..
select 할때 결과값이 문자인경우는 에러가 납니다.
에러내용 :Warning: ociexecute() [function.ociexecute]: OCIStmtExecute: ORA-03120: two-task conversion routine: integer overflow
소스는
<?
include "connect.php";
$query = "select BAN from test_memo where ban in ('test')";
$stmt = OCIParse($conn, $query) or die("Couldn't parse statement.");
OCIExecute($stmt,OCI_DEFAULT);
while(OCIFetchInto($stmt, &$data, OCI_ASSOC+OCI_RETURN_NULLS)){
$tname = $data["BAN"];
echo $tname;
}
OCIFreeStatement($stmt);
OCILogoff($conn);
?>
관련문서를 뒤져본 결과...확실한 내용인지는 모르지만..
여러가지 원인이 있었습니다.
1. 처음에 php4를 설치해서 같은 에러가나서 php5로 업그레이드 햇으나 같은에러발생
2.서버와 클라이언트의 NLS_LANG character set 이 다를 경우에도 에러발생한다하여 두 서버를 일치 시켰으나 같은에러발생
3. ebcs서버의 oracle 8.1.7.0 버젼의 버그라고 하여 윗 버젼으로 패치하라는 내용이 있었습니다.
아직 3번은 시행하지는 않았구요...
혹시 다른 해결방안이나...oci함수를 사용해서 할 수 있는 방법이 있는지요???
댓글 달기