2014-06-18 6 views
1

Linux에서 Python과 TD를 연결하려고합니다. pyodbc을 설치 Linux에서 Teradata를 Python과 연결하는 방법은 무엇입니까?

  • 설치 TeraGSS, tdicu, cliv2, ​​piom, tdodbc
    1. :
      import pyodbc 
      conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=<HOST IP>;UID=<UID>;PWD=<UID>;QUIETMODE=YES;') 
      cursor = conn.cursor() 
      sql = 'select * from table_name' 
      cursor.execute(sql) 
      rows = cursor.fetchall() 
      conn.close() 
      print rows 
      

      단계

      내가 리눅스에 그것을 할 다음 :

      나는이 윈도우에서 작업을 얻었다

    2. 다음을 실행하십시오.
    import pyodbc 
    conn = pyodbc.connect('DRIVER={Teradata};DBCNAME=<HOST IP>;UID=<UID>;PWD=<UID>;QUIETMODE=YES;') 
    

    pyodbc.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)')

    오전 내가 설치 한 후 모든 구성 단계를 실종?

    환경 :

    파이썬 2.6.6 (r266 : 84292, 2012 년 10 월 12 일 14시 23분 48초) [GCC 4.4.6 20120305 (레드햇 4.4.6-4)]에서 동시

    +0

    [This (http://crashthatch.tumblr.com/post/66957708538/teradata-odbc-connection-using-python-on-ubuntu)는 설정이 올바른지 확인하는 좋은 지침 일 수 있습니다. – visakh

    답변

    2

    DRIVER로 전달한 문자열은 a) odbcinst.ini 파일의 드라이버 이름 또는 b) ODBC 드라이버 공유 객체의 전체 경로가 필요합니다. 첫 번째 방법을 사용할 때 odbcinst -ini 파일을 어디에서 찾아보고 어떤 드라이버를 정의했는지 살펴보기 위해 odbcinst -j를 실행하는 것이 좋습니다. 드라이버 섹션은 [MYDRIVERNAME]으로 시작하므로 [Teradata]를 시작하는 섹션이 있어야하며 driver =/path/to/teradata/driver/shared_object와 같은 키워드/값 쌍을 포함해야합니다. [Teradata] 드라이버를 정의한 경우 "driver"키워드가 가리키는 공유 객체를 확인하고 사용자가 읽을 수 있고 실행 가능하며 해결되지 않은 종속성이 없습니다 (ldd가 실행 됨).