Python 3.3 (Windows 7-64 비트)에서 SQLAlchemy (pyodbc)를 사용하여 SQL Server 2012 데이터베이스에 연결하려고합니다. 직선 pyodbc를 사용하여 연결할 수는 있지만 SQLAlchemy를 사용하여 연결하는 데 실패했습니다. 데이터베이스 액세스를위한 dsn 파일 설정이 있습니다.sqlalchemy 및 pyodbc를 사용하여 SQL Server 2012에 연결
내가 성공적으로 다음과 같이 직선 pyodbc를 사용하여 연결 :
이import sqlalchemy as sa
engine = sa.create_engine('mssql+pyodbc://c/users/me/mydbserver.dsn/mydbname')
create_engine
방법은 실제로 연결을 설정하고 성공하지 않지만, IIF :
con = pyodbc.connect('FILEDSN=c:\\users\\me\\mydbserver.dsn')
을 SQLAlchemy의 위해 나는 노력했다 나는 실제로 (처럼) 연결을 설정하기 위해 sqlalchemy를 시도하는 무언가를 시도하지만 잠시 시간이 걸리지 만이 오류를 반환한다 :
DBAPIError: (Error) ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect)') None None
어디서 잘못 될지 모르겠지만 실제로 연결 문자열이 sqlalchemy에 의해 pyodbc로 전달되는 것을 확인하는 방법입니다. 나는 SQLite와 MySQL에서 같은 sqlalchemy 클래스를 성공적으로 사용했다.
미리 감사드립니다.
감사합니다. SQL Server 인스턴스는 내가 작업하고있는 컴퓨터에없는 유일한 인스턴스이므로 여기서 재미있는 일이 있는지 확실하지 않았습니다. SQL 서버 인스턴스가 명시 적으로 이름 지어 졌으므로 목록에 표시 한 내용을 약간 확장하면됩니다. - sa.create_engine ('mssql + pyodbc : // [machinename] \\ [servername]/[database]') ' –
이름을 지어야합니다. 실제로 "기본 인스턴스"로 구성된 SQL Server 인스턴스에 연결하여 사용하는 것이 더 쉽습니다. 한 서버에서 여러 SQL Server 인스턴스를 호스팅 할 때 명명 된 인스턴스가 필요합니다. – marr75