>

R 명령 행 또는 Rstudio에서 Netezza 어플라이언스에 연결할 수 없습니다. 그러나 isql 및 nzodbcsql 명령 줄 도구를 사용하여 어플라이언스에 연결할 수 있습니다.

지금까지 Redhat Linux의 설정은 다음과 같습니다 :
1. unixODBC 관리자 설치
2. 사용자 환경 변수 :    Netlizza 라이브러리가있는

  • LD_LIBRARY_PATH =/usr/local/nz/lib64 디렉토리에 대한 권한은 755입니다.    ODBC 구성 파일이있는
  • NZ_ODBC_INI_PATH =/common/odbc. 이 위치에서 권한도 755입니다.
    3. "odbcinst -j"를 실행하여 ODBC 파일의 구성을 확인하십시오.

    unixODBC 2.3.4
    DRIVERS............: /common/odbc/odbcinst.ini
    SYSTEM DATA SOURCES: /common/odbc/odbc.ini
    FILE DATA SOURCES..: /common/odbc/ODBCDataSources
    USER DATA SOURCES..: /common/odbc/odbc.ini
    SQLULEN Size.......: 8
    SQLLEN Size........: 8
    SQLSETPOSIROW Size.: 8
    
    
    1. isql 및 nzodbcsql을 사용하여 Netezza를 쿼리 할 수 ​​있습니다 (select * from _v_dual은 1 개의 레코드를 반환 함). ODBC DNS 이름을 "testdsn"이라고 가정합니다

    <시간> R 세션에서 RODBC를 사용하려고 시도하는 중 :

    library(RODBC)
    z = odbcConnect("testdsn")
    Warning messages:
    1: In RODBC::odbcDriverConnect("DSN=testdsn") :
      [RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/usr/local/nz/lib64/libnzodbc.so' : file not found
    2: In RODBC::odbcDriverConnect("DSN=testdsn") :
      ODBC connection failed
    
    

    이 오류는 일반적으로 LD_LIBRARY_PATH가 올바르게 설정되지 않았 음을 나타냅니다. 명령 줄에 설정되어 있지만 R에 설정되어 있지 않으므로 Renviron.site 구성 파일에서 설정했습니다.

    Sys.getenv("LD_LIBRARY_PATH")
    [1] "/lib64:/usr/include:/usr/lib64:/usr/local/nz/lib64"
    
    

    libnzodbc.so 파일에서도 ldd를 실행했는데 링크 문제가 없습니다 :

    system("ldd /usr/local/nz/lib64/libnzodbc.so")
            linux-vdso.so.1 =>  (0x00007fff1fdce000)
            libc.so.6 => /lib64/libc.so.6 (0x00007f26ede93000)
            libm.so.6 => /lib64/libm.so.6 (0x00007f26edb91000)
            libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f26ed975000)
            libdl.so.2 => /lib64/libdl.so.2 (0x00007f26ed771000)
            libkrb5.so.3 => /usr/local/nz/lib64/libkrb5.so.3 (0x00007f26ee58a000)
            libkrb5support.so.0 => /usr/local/nz/lib64/libkrb5support.so.0 (0x00007f26ed664000)
            libcom_err.so.3 => /usr/local/nz/lib64/libcom_err.so.3 (0x00007f26ed561000)
            libk5crypto.so.3 => /usr/local/nz/lib64/libk5crypto.so.3 (0x00007f26ed41e000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f26ee54c000)
            libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f26ed205000)
    
    

    unixODBC 및 Netezza 명령 줄 도구를 통해 쿼리 할 수 ​​있지만 R 또는 Rstudio를 통해 쿼리 할 수는 없습니다. 내가 알 수있는 한, 라이브러리 경로를 찾기 위해 R 환경 변수를 올바르게 설정했지만 여전히 파일을 찾을 수 없습니다. 다른 것이 없는지 아는 사람이 있습니까?

    R 버전 : 3.4.4 Netezza 드라이버 버전 : 3.51 리핫 버전 : 7.6

  • 이전 amazon web services - us-gov-west-1의 EC2 인스턴스에서 '요청에 포함 된 보안 토큰이 잘못되었습니다'
  • 다음 html - jQuery Datatables 플러그인으로 작업하는 방법?