이 표시됩니다. 왜 이런 일이 일어나고 무엇을 할 수 있습니까?DSN이있는 /etc/odbc.ini에도 불구하고 [unixODBC] [드라이버 관리자] [데이터 원본 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.] <code>/etc/odbc.ini</code>에도 불구하고 <code>"[unixODBC][Driver Manager]Data source name not found, and no default driver specified"</code>이 연결 문자열에서 참조 된 DSN을 가지고 있음에도 불구하고
docs (centos 7)을 사용하여 MSSQLServer에 연결하기 위해 pyodbc
을 설정하려고합니다. 그러나, 경우에도 실행시 불구하고, 오류 "[unixODBC][Driver Manager]Data source name not found, and no default driver specified"
을 받고
import pyodbc
# setup db connection
server = 'myserver'
database = 'mydb'
username = 'myusername'
password = 'mypassword'
cnxn_str = 'DSN=MyMSSQLServer;DATABASE='+database+'UID='+username+'PWD='+password+'MultipleActiveResultSets=True;'
cnxn = pyodbc.connect(cnxn_str)
, 실제로 데이터베이스에 연결하려고 :
[[email protected] ~]$ cat /etc/odbc.ini
[MyMSSQLServer] Driver=ODBC Driver 13 for SQL Server
Description=My MS SQL Server
Trace=No
Server=<now using my sql server ip>
은 내가 파이썬 코드에서 참조하는 DSN이 기록되는 것을 볼 수 있습니다 /etc/odbc.ini
파일 아무도 여기서 무슨 일이 일어날 지 알고 있습니까? 감사.
주는 :
vi /home/user/odbcadd.txt
[MyMSSQLServer] Driver = ODBC Driver 13 for SQL Server
Description = My MS SQL Server
Trace = No
Server = <my sql server ip>
: 나는 처음 docs에 지정된하지만 나중에 내가 연결하고 싶었던 SQL 서버의 IP 주소를 사용하도록 this 단계를-한 재대로 정확하게 pyodbc 설정을 실행 그냥 odbc.ini
에 쓰기를 다시 실행 : 사용자 고드 톰슨 주석
sudo odbcinst -i -s -f /home/user/odbcadd.txt -l
가 다시 odbc.ini 파일을 확인하십시오처럼이 DSN에서 별도의 줄에 '드라이버 =' 라인을 가지고하는 데 필요한
/etc/odbc.ini
파일을 채우기 위해 사용 된~/odbcadd.txt
파일을 볼 수 있습니다. '[MyMSSQLServer]'섹션은'Driver ='행을 가져야하고 (원래 버전은 그렇지 않습니다), 별도의 행에 있어야합니다 ('[MyMSSQLServer]'와 같은 행이 아님). –