2014-04-13 5 views
0

나는 오라클 DB를했고 나는 다음과 같이 오라클에 연결 RODBC 연결을 사용 :RODBC를 사용하여 mssql 서버에 어떻게 연결합니까?

library(RODBC) 
new_sql<-c("select * from table") 
tryCatch({ 
      ch=odbcConnect("odbc_con",pwd = "!passwd!") 
      res<-sqlQuery(ch,new_sql) 
      },error = function(e) { 
      print(odbcGetErrMsg(ch))   
     }) 

데이터베이스가 MSSQL에 mirgrated하고, 나는 데이터를 사용하여 new_odbc_con라는 MSSQL 서버에 대한 새 ODBC 연결을 만들었습니다 SOURCES (ODBC), 관리자 도구 사용. 나는이에 코드를 업데이트

는 :

tryCatch({ 
      ch=odbcConnect("odbc_con",pwd = "!password!") 
      res<-sqlQuery(ch,new_sql) 
      },error = function(e) { 
      print(odbcGetErrMsg(ch))   
     }) 

나는 SQL 서버에 연결하고 SQL을 실행할 수 없습니다입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

0

다시 발생하는 경우,이 문제를 해결하기 위해 수행 한 작업입니다.

  1. 은 내가 ch=odbcConnect("odbc_con",uid="userid",pwd = "!password!")

-ch=odbcConnect("odbc_con",pwd = "!password!")이 라인은 마치 마법처럼 일 업데이트가 관리 도구를 사용하여 시스템 odbc 연결 (데이터 원본 (ODBC))

  • 를 만들었습니다.

  • 0

    또한 리눅스 레드햇 솔루션을 제공하기 전에 아래이 설정 파일의 3을 수정하는 것을 필요가 제대로 설치되어있는 세션을 테스트하기 위해 TSQL 또는 ISQL을 사용할 수

    $ sudo nano /etc/odbc.ini 
    [salesdb] 
    Driver=FreeTDS 
    Trace=No 
    Server=xxx 
    Port=1433 
    Database=xxxx 
    TDS_Version=8.0 
    
    
    $ sudo nano /etc/freetds.conf 
    # A typical Microsoft server 
    [salesdb] 
        host = xxxx 
        port = 1433 
        tds version = 8.0 
        client charset = UTF-8 
    
    $ sudo nano /etc/odbcinst.ini 
    # Driver from the FreeTDS package 
    # Setup from the unixODBC package 
    [FreeTDS] 
    Description  = FreeTDS 
    Driver   = /usr/lib64/libtdsodbc.so # this is the linux path, you can call odbcinst -q -d to see where the other drivers were installed in the system 
    

    마지막으로 R에서 DSN을 전화 또는이 아래의 명령어,

    $ odbcinst -q -s 
    
    관련 문제