오류 ORA-01804 텍스트를 검색하는 중 오류 발생
C++ 응용 프로그램을 Oracle DB에 연결하는 데 문제가 있습니다. 오류가 발생합니다.
"[OracleException] errcode: 1804, desc: Error while trying to retrieve text for error ORA-01804".
(파이썬을 통해) cx_oracle에 대해 동일한 오류가 발생했습니다.이 경우 환경 변수에 ORACLE_HOME이 누락되었습니다.Windows Cli에서 Oracle_home을 설정합니다(오라클 폴더 사용).
setx ORACLE_HOME "C:\oracle\oc121\"
일부 DB 연결에서 TNS_ADMIN도 다음과 같이 설정해야 합니다.
setx TNS_ADMIN "%ORACLE HOME%\network\admin"
OCCI in Cent를 사용합니다.OS 7, 그리고 같은 문제가 발생하면 libocius만 추가하면 됩니다.LD_LIBRARY_PATH로 전송하여 문제를 해결합니다.
받고있습니다ORA-01804
데이터베이스에 의해, 의 설명은ORA-01804
다음과 같습니다.
failure to initialize timezone information
Cause: The timezone information file was not properly read.
C++ OCCI 어플리케이션에서 문제가 발생하여 문제가 생겼습니다.oracle::occi::SQLException
오라클 DB에 연결하려고 했을 때.
ORA-01804:
failure to initialize timezone information
Cause: The timezone information file was not properly read.
이유는 제 리눅스 오라클 클라이언트가 타임존 관련 파일을 누락했기 때문입니다.$ORACLE_HOME
디렉토리 입니다.솔루션은 오라클 클라이언트의 다른 인스턴스에서 해당 파일을 간단히 복사하는 것이었습니다.
또 다른 가능한 이유: 이진 파일에 OCCI 라이브러리에 액세스할 수 있는 권한이 없습니다...OCCI 라이브러리가 있는 폴더 모드를 잘못 설정하여 그런 상황이 발생합니다.
저 같은 경우에는.libociicus.so
(Oracle Instant Client에서 찾을 수 있음)이 없습니다.
사소한 것이지만 원인을 파악하기 어려운 또 다른 이유는 Oracle 설치 폴더가 불완전하기 때문일 수 있습니다.그 이유는 일부 프로세스가 Oracle 클라이언트를(성공적으로) 제거하지 못했기 때문입니다.
PATH env. var contained oci.dll(그리고 많은 다른 DLL-s)의 bin 폴더로서 정말 까다로웠지만 다른 곳에서는 아래에 있었습니다.C:\oracle\11\
다른 파일들이 누락되어 있었습니다.
그래서: 설치 폴더에 필요한 모든 파일이 포함되어 있는지 확인합니다!
나는 이것이 오래된 질문이라는 것을 알고 있지만, 내 사례(또는 nodejs, macOS의 acledb 패키지)를 고칠 수 있는 답이 없습니다.
하지만, 다시 제 자신을 위한 해결책을 찾았습니다.
해결책은 그 움직임입니다.libociei.dylib
안으로/usr/locale/lib
폴더.바로 그겁니다.
저는 인스턴트 클라이언트 버전과 데이터베이스 서버 버전이 다른 버전을 사용하고 있기 때문입니다.그래서 저는 이 오류를 해결하기 위해 그들의 버전을 맞춰야 했습니다.오라클은 버전이 다르면 DB 시간대를 읽을 수 없다고 합니다.
다음은 별로 좋은 해결책이 아닙니다.무엇이 이 거래를 성사시켰는지 확신이 서지 않습니다.하지만 제게 해결책은 다음과 같습니다.
- 내 PC에서 다른 모든 Oracle 클라이언트 삭제
- 삭제된 클라이언트 경로에서 ORACLE_HOME 및 PATH 삭제
- PC를 재시작합니다.
그 후 오류가 사라졌습니다.
언급URL : https://stackoverflow.com/questions/12837811/error-while-trying-to-retrieve-text-for-error-ora-01804
'programing' 카테고리의 다른 글
MySQL에서 JOIN 쿼리의 반환 결과를 제한하는 방법 (0) | 2023.11.04 |
---|---|
Oracle LOB를 삭제하는 방법 (0) | 2023.11.04 |
도커 컨테이너에 여러 볼륨을 탑재하시겠습니까? (0) | 2023.10.30 |
CSS에서 @media screen 및 (max-width: 1024px)는 무엇을 의미합니까? (0) | 2023.10.30 |
wpdb 업데이트 쿼리가 작동하지 않음 (0) | 2023.10.30 |