제가 상세히 적지 않아서 그렇군요.. 죄송합니다.
답변해 주신 것처럼 해 봤거든요.
모두 다 그렇게 세팅이 되어있습니다.
.PROFILE에서도 export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
되어있습니다..
이런 경우는 어떻게 하나요????? 흑흑흑~
참고로 전 솔라리스(5.6)를 설치해 사용하고 있습니다.
PHP로 INSERT하는 소스는 여기에 있는 소스로 했거든요..
(데이타베이스의 오라클의 웹프로그래밍에서요)
putenv("ORACLE_SID=ORCL");
putenv("ORACLE_HOME=/home/ora815");
//putenv("NLS_LANG=AMERICAN_AMERICA.KO16KSC5601");
//위 부분은 필요가 없더군요..
$handle = ora_logon("narrator/rlaxodhr","") or die;
$cursor = ora_open($handle);
// 또는 아래와 같이 직접 넣어 주어도 된다.
$query = "insert into imsi values('구우경',27 )";
ora_parse($cursor, $query);
ora_exec($cursor);
$error_val = ora_errorcode($cursor);
// 에러인 경우 에러코드가 1, 성공인 경우 0
if ($error_val == 1) {
$error_message = ora_error($cursor);
echo "ORA-ERROR : $error_message<br>";
ora_rollback($handle);
echo "Fail!<br>";
} else {
echo "Success!<br>";
ora_commit($handle);
}
ora_close($cursor);
ora_logoff($handle);
?>
저는 직접 넣어 주었습니다..
select도 여기 있는 소스로 했습니다..
> > php 인 경우는 잘 모르겠습니다.
> > 허나 자바 서블릿경우...
> > 비슷할것 같아서...
> >
> > 오라클이 만약 KSC5601 로 character set 으로 되어 있는경우
> > 문자열을 KSC5601 로 인코딩 해서 디비에 넣습니다.
> > 혹시 php 도 이런게 있을것 같은데요...?
>
> 오라클 환경변수가 맞지 않는 것 같습니다.
> 오라클 유저로 접속해서
>
> echo $NLS_LANG 해보시고 아래와 같이 나와야 합니다.
> 오라클 서버매니저로 접근하시고,
>
>
> shutup% svrmgrl
>
> Oracle Server Manager Release 3.0.5.0.0 - Production
>
> (c) Copyright 1997, Oracle Corporation. All Rights Reserved.
>
> Oracle8 Release 8.0.5.0.0 - Production
> PL/SQL Release 8.0.5.0.0 - Production
>
> SVRMGR> connect internal
> Connected.
> SVRMGR> desc v$NLS_PARAMETERS;
> Column Name Null? Type
> ------------------------------ -------- ----
> PARAMETER VARCHAR2(64)
> VALUE VARCHAR2(64)
> SVRMGR> select value from v$nls_parameters
> 2> where parameter = 'NLS_CHARACTERSET';
> VALUE
> ----------------------------------------------------------------
> KO16KSC5601
>
> 위에서 나온 VALUE값이 실제 사용되는 값입니다.
> 오라클 환경변수도 위와 같이 바꿔 주시면 됩니다.
>
|