database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 1155 게시물 읽기
No. 1155
도와 주세요...감사함돠...
작성자
왕초보
작성일
2000-07-24 15:38
조회수
35,047

Warning: _oci_open_server: Error while trying to retrieve text for error ORA-12154 in oci8.inc on line 29

 

Warning: Supplied argument is not a valid OCI8-Connection resource in oci8.inc on line 39

 

Warning: Supplied argument is not a valid OCI8-Statement resource in oci8.inc on line 50

 

Warning: Supplied argument is not a valid OCI8-Statement resource in oci8.inc on line 145

 

Warning: Supplied argument is not a valid OCI8-Connection resource in oci8.inc on line 155

 

리눅스와 아파치에 오라클 8.0.5 이구여...PHP4를 사용하는데...

위와 같은 에러가 나네요...

혹시 처리해야 하는 방법을 아시는지 궁금해서요...

oci8.inc파일은 아래에...

===================================

<?php

/***********************************************************************

<클래스명>오라클 OCI8 클래스<클래스명>

<작성자>김성식</작성자>

<EMAIL>hellower@hotmail.com</EMAIL>

<HOMEPAGE>http://soback.kornet21.net/~corer/</HOMEPAGE>

<수정내역>1999/12/28 disconnect()</수정내역>

<수정내역>2000/03/28 var $storeDML</수정내역>

<수정내역>2000/05/07 freedescriptor()</수정내역>

<수정내역>2000/05/13 persistent connect 고려 재작성</수정내역>

************************************************************************/

 

class Oracle_OCI {

var $conn = FALSE;

var $stmt = 0;

var $abstractData= FALSE;

var $error= FALSE;

var $storeDML = "";

 

var $persistent=TRUE;

 

function connect($id="webmail",$passwd="aaron",$oracle_sid="ORCL") {

// 세번째 인수를 생략하면 BEQ 프로토콜로 접속, 명시하면 TCP 프로토콜 이용

 

if ($persistent) { // 영구 접속이면

$this->conn = OCIPLogon($id,$passwd,$oracle_sid);

}

else {

$this->conn = OCILogon($id,$passwd,$oracle_sid);

}

}

 

function serverVersion() {

return OCIServerVersion($this->conn);

}

 

function parse($qry) {

$this->storeDML=$qry;

$this->stmt=OCIParse($this->conn,$qry);

}

 

function parseExec($qry) {

$this->parse($qry);

$this->exec();

}

 

function exec($mode=OCI_DEFAULT) {

// OCI_DEFAULT : 매번 실행시마다 자동 commit가 되지 않도록 함.

 

OCIExecute($this->stmt,$mode);

$this->error = ocierror($this->stmt);

if($this->error) {

echo "<HR><FONT SIZE=2 COLOR=RED>".$this->storeDML."</FONT><BR>";

$this->disconnect();

}

}

 

/*

OCI_D_FILE

OCI_D_LOB

OCI_D_ROWID

*/

 

function newDescriptor($type) {

$this->abstractData = OCINewDescriptor($this->conn,$type);

}

 

function freeDescriptor() {

// OCIFreeDescriptor($this->abstractData); // depreciated!!

$this->abstractData->free();

}

 

function defineByName($upper,&$var) {

OCIDefineByName($this->stmt,$upper,&$var);

}

 

function bindByName($place_holder,&$var,$length) {

OCIBindByName($this->stmt,$place_holder,$var,$length);

}

 

/*

OCI_B_FILE(Binary File)

OCI_B_CFILE(Character-File)

OCI_B_CLOB(Character_LOB)

OCI_B_BLOB(Binary-LOB)

OCI_B_B_ROWID(ROWID)

*/

 

function bindByNameAbstract($place_holder,$type) {

OCIBindByName($this->stmt,$place_holder,&$this->abstractData,-1,$type);

return $this->abstractData;

// return &$this->abstractData; PARSE ERROR!

}

 

 

function fetch() {

return OCIFetch($this->stmt);

}

 

function result($i) { // 인덱스는 0이 아닌 1부터 시작

return OCIresult($this->stmt,$i);

}

 

function fetchInto(&$col,$mode=OCI_ASSOC) { // 클래스는 디폴트가 OCI_ASSOC

file://function fetchInto(&$col,$mode=OCI_NUM) {

return OCIFetchInto($this->stmt,&$col,$mode);

}

 

function fetchStatement(&$arr) {

return OCIFetchStatement($this->stmt,&$arr);

}

 

//////////////////////////////////////////////////////////

function numCols() {

return OCINumCols($this->stmt);

}

 

// $index 는 1 부터 시작

function columnName($index) {

return OCIColumnName($this->stmt,$index);

}

 

function columnisNULL($index) {

return OCIColumnIsNULL($this->stmt,$index);

}

 

function columnType($index) {

return OCIColumnType($this->stmt,$index);

}

 

function columnSize($index) {

return OCIColumnSize($this->stmt,$index);

}

 

function StatementType() {

return OCIStatementType($this->stmt);

}

 

function rowCount() {

return OCIRowCount($this->stmt);

}

///////////////////////////////////////////////

 

function parseFree() {

OCIFreeStatement($this->stmt);

}

 

function disconnect() {

if($this->error) {

OCIRollback($this->conn);

if (!$persistent) OCILogoff($this->conn);

die("<font color=red>ROLLBACK OCCURRED!! ".$this->error["message"]."</font>");

}

else {

OCICommit($this->conn);

if (!$persistent) OCILogoff($this->conn);

}

}

 

} // end class

 

//////// Object 생성 ////////////////////////////////

$oci = new Oracle_OCI;

////////////////////////////////////////////////////

?>

[Top]
No.
제목
작성자
작성일
조회
1160한글 문제인데여... sqlplus에서도 깨지내여...
hakchuls
2000-07-24
14366
1161┕>Re: 한글 문제인데여... sqlplus에서도 깨지내여...
김규태
2000-07-25 09:59:59
15640
1157ora-12154 에러
현호재
2000-07-24
15270
1164┕>Re: ora-12154 에러
이주엽
2000-07-25 16:21:48
14145
1156오라클 8i를 리눅스 6.0에 설치 가능한가요?
이도영
2000-07-24
12708
1159┕>Re: 오라클 8i를 리눅스 6.0에 설치 가능한가요?
소몰이
2000-07-24 20:42:35
13973
1155도와 주세요...감사함돠...
왕초보
2000-07-24
35047
1154win98에서 oracle/php3/apache 설치 방법좀 갈켜주세요!
초보
2000-07-24
13321
1152설치에러
조남용
2000-07-24
14703
1150오라클 세션 오픈을 빠르게하는 방법?
김현주
2000-07-24
12434
1151┕>Re: 오라클 세션 오픈을 빠르게하는 방법?
소몰이
2000-07-24 11:26:42
13508
1153 ┕>Re: Re: 오라클 세션 오픈을 빠르게하는 방법?
김현주
2000-07-24 12:43:07
12873
1158  ┕>Re: Re: Re: 오라클 세션 오픈을 빠르게하는 방법?
소몰이
2000-07-24 20:39:42
13403
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다