저는 Mac(macOS Mojave 10.14.1)에서 작업하고 있으며 Oracle 데이터베이스에 연결하기 위해 ODBC 드라이버를 설정하려고 합니다(최종 목표는 패키지를 R
사용하여 연결하는 것입니다 DBI
).
필요한 것을 정확하게 표현할 수 있는 기술 언어는 없지만 드라이버가 어디에 있는지 찾아서 R 코드에서 사용하고 ODBC 관리자 도구에서 설정해야 한다고 생각합니다.
나는 이것에 대한 지시를 따랐습니다.오라클 블로그:
- 다운로드버전 12.2.0.1.0(64비트) > 기본 > 기본 패키지
- 다운로드개발 및 런타임 > ODBC 패키지
- 위 파일의 압축을 풀고 여기에 저장하세요.
/Users/my_user_name/Applications/instantclient_12_2
- macOS 라이브러리 검색 경로에 파일 추가
ln -s $(pwd)/libclntsh.dylib.12.1 $(pwd)/libclntshcore.dylib.12.1 ~/lib
- instantclient_12_2/odbc_update_ini.sh의 드라이버 이름에 작은 패치를 만듭니다(원본 지침 링크 참조).
- 구성 스크립트를 실행합니다.
sudo sh odbc_update_ini.sh /usr/local
그러면 다음이 반환됩니다.*** ODBCINI environment variable not set,defaulting it to HOME directory!
- 그런 다음 이렇게 합니다.
sudo chown $USER ~/.odbc.ini
이 시점에서 나는 길을 잃었다. 여기에서 파일을 찾았습니다 .odbc.ini
. /Users/my_user_name/.odbc.ini
(입력해야 합니다.ls -l -a
이제 어떻게 연결해야 할지 모르겠습니다. ODBC 관리자에 드라이버 파일을 추가하는 방법을 모르고 R을 통해 액세스할 수 없습니다.
이것은 아래의 R 코드입니다. 드라이버 경로가 잘못된 것 같습니다.
> con = DBI::dbConnect(odbc::odbc()
+ ,driver = "/Users/my_user_name/.odbc.ini",
+ ,DBCName = "AUA8"
+ ,MechanismName = "ldap"
+ ,uid = 'user_name'
+ ,pwd = 'my_password')
Error: nanodbc/nanodbc.cpp:950: 01000: [unixODBC][Driver Manager]Can't open lib '/Users/my_user_name/.odbc.ini' : file not found
내 ODBC 관리자의 사진은 다음과 같습니다.보시다시피 Teradata 드라이버만 볼 수 있습니다. oracle 드라이버를 추가하려고 했지만 내 driver file
및 setup file
.
현재 데이터베이스 기술 한계에 도달했습니다. 도움을 주셔서 미리 감사드립니다.