python3 pyodbc spark(linux)에서 odbc driver 오류가 발생합니다.... sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
조회수 591회
driver = driver = 'FreeTDS'
또는
driver = 'SQL+Server+Native+Client+11.0'
engine = sqlalchemy.create_engine("mssql+pyodbc://"+username+":"+password+"@"+server+"/"+db+"?driver="+driver, echo=False)
df_result.to_sql('table name', schema="schema name", con=engine, if_exists='append', index=False)
위처럼 pandas의 dataframe을 mssql에 insert하려고 합니다. 헌데 로컬 환경인 windows10에서는 정상적으로 connect 되어 insert 되었는데 spark 리눅스 환경에서 진행하니까 아래처럼 오류가 발생합니다.
File "test.py", line 142, in <module>
df_result.to_sql('table name', schema="schema name", con=engine, if_exists='append', index=False)
sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib '/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so' : file not found (0) (SQLDriverConnect)")
(Background on this error at: http://sqlalche.me/e/dbapi)
원인이 뭘까요? odbcinst -j 은 아래와 같습니다.
odbcinst -j
unixODBC 2.3.4
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/innodep/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
댓글 입력