환경은 알짜 6.1 오라클 8.1.5(patch) 입니다.
성공적으로 오라클 인스톨했고..
표면상 보기에는 오라클에서 할 수 있는것들은 다 되는거 같습니다.
일단 sqlplus에서 계정 추가,삭제 테이블 추가,삭제 등등 뭐 다 되니까요..
근데 웹에서 db를 연동하기위해 아래코드만 돌리면 에러가 나네요..
php코드는 아래와 같습니다.
<center>
<br>
PHP3를 이용한 오라클 연동 테스트입니다.
<p>
</center>
<?
putenv("ORACLE_SID=ORCL");
putenv("ORACLE_HOME=/home/oracle/8i");
putenv("NLS_LANG=AMERICAN_AMERICA.KO16KSC5601");
$handle = ora_logon("jack/pswd","") or die;
$cursor = ora_open($handle);
$query = 'select * from dept";
ora_parse($cursor, $query) or die;
ora_exec($cursor);
echo "<pre>\n";
echo "$query\n\n";
$numcols=0;
while (ora_fetch($cursor)) {
$numcols = ora_numcols($cursor);
for ($column=0; $column < $numcols; $column++) {
$data = trim(ora_getcolumn($cursor, $column));
if ($data == "") $data = "NULL";
echo "$data\t";
}
echo "\n";
}
$numrows = ora_numrows($cursor);
echo "\nRows RETURNED : $numrows\n";
echo "</pre>";
ora_close($cursor);
ora_logoff($handle);
?>
결과는 아래와 같습니다.
Warning: Unable to connect to ORACLE (Error while trying to retrieve text for error ORA-12546) in /usr/local/etc/httpd/htdocs/t.php3 on line 11
리스너 에러인가 싶어서 열심히 tnsnames.ora와 lintener.ora파일을 고쳤습니다.
그리고
$lsnrctl start하면
..
..
..
Services Summary...
ORCL has 1 service handler(s)
extproc has 1 service handler(s)
The command completed successfully
라고 나오네요..
ORA12546에 관해 technet에서 찾아보니까
ORA-12546 TNS:permission denied
Cause: User has insufficient privileges to perform the requested operation.
Action: Acquire necessary privileges and try again
라고 나오는데..
권한을 어떻게 주라는건지...^^;
제발 좀 알려주세요..
|