본문 바로가기

개발하자

(DRIVER_NOT_Found', "'Teradata'용 드라이버를 찾을 수 없습니다. 사용 가능한 드라이버:) - 테라데이터 모듈이 있는 아나콘다-주피터 노트북 사용

반응형

(DRIVER_NOT_Found', "'Teradata'용 드라이버를 찾을 수 없습니다. 사용 가능한 드라이버:) - 테라데이터 모듈이 있는 아나콘다-주피터 노트북 사용

와 함께 사용해 왔습니다. 목적은 아나콘다-주피터 노트북 파이썬과 테라데이터 DB를 연결하기 위한 연결 문자열을 만드는 것이었다. 를 설치한 후 오류가 발생했습니다.

데이터와 함께 teradata DB에서 테이블을 가져오려면 이 연결 문자열이 필요합니다. 이미 ODBC 드라이버를 설치하고 ODBC.ini 파일을 생성했습니다. 하지만 여전히 이 드라이버를 찾을 수 없음 오류 주피터 노트북을 받고 있습니다. 제발, 나 좀 도와줘. 아래는 제가 연결 문자열을 만드는 데 사용하는 스크립트입니다.

시스템, 호스트, dsn, 사용자 이름, 비밀번호, 그리고 테라데이터 데이터베이스의 드라이버 이름을 알려주세요. 다음 스크립트에서 언급해야 합니다:

udaExec.connect(method="odbc",system=host, username=username,
                            password=password, driver="DRIVERNAME")

PS: 아나콘다-주피터 노트북 서버가 유닉스에서 실행되고 있다.

스크립트:

#Using teradata module
#You can install teradata via PIP: pip install teradata
#to get a list of your odbc drivers names, you could do: teradata.tdodbc.drivers

import teradata
import pandas as pd

host,username,password = 'HOST','UID', 'PWD'
#Make a connection
udaExec = teradata.UdaExec (appName="test", version="1.0", logConsole=False)


with udaExec.connect(method="odbc",system=host, username=username,
                            password=password, driver="DRIVERNAME") as connect:

    query = "SELECT * FROM DATABASEX.TABLENAMEX;"

    #Reading query to df
    df = pd.read_sql(query,connect)

# do something with df,e.g.
print(df.head()) #to see the first 5 rows

감사합니다!




  1. ODBC 홈에 대한 드라이버() 및 내보내기 경로를 설치해야 합니다. [ ]

  2. 또는 python pip 패키지를 직접 사용하여 sql 쿼리를 커서로 실행(즉, mysql-python) [ ]




이것은 나에게 문제를 해결해 주었다:

from sqlalchemy import create_engine
import sqlalchemy_teradata

def connect_td_engine():
    user='YOUR_USER'
    pasw="YOUR_PASSWORD'
    host = 'YOUR_HOST.COM'
    engine = create_engine(f'teradatasql://{host}/?user={user}&password={pasw}')
    return engine

sqlalchemy_teradata를 가져오기만 하면 문제가 해결되고 더 이상 드라이버가 필요하지 않습니다.


반응형