반응형
SQL Server의 특정 인스턴스에 연결하고 시스템 테이블에서 일부 데이터를 가져 오려고합니다. 이 코드 조각을 사용하여 연결 중입니다.
connSqlServer = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER=192.106.0.102;DATABASE=master;INSTANCE=instance1;UID=sql2008;PWD=password123;Trusted_Connection=yes')
...
cursorObj.execute("select * from sys.dm_os_sys_info")
row = cursorObj.fetchone()
print("rows from table ",row)
그러나 기본 인스턴스에 대한 값만 가져 오지만 'instance1'에 대한 값을 가져올 수 없습니다. 따라서 'INSTANCE = instance1'에 인스턴스 이름을 지정해도 실제로 효과가없는 것 같습니다. 이것이 없어도 (인스턴스의 포트 번호 인 'PORT = 1443'을 제공하려고 시도 함) 기본 SQL Server 인스턴스에 대한 값만 가져옵니다. 특정 인스턴스에 대한 값을 가져 오도록 강제하는 방법은 무엇입니까?
해결 방법
먼저 uid
/ pwd
(SQL Server 인증)와 trusted_connection
(Windows 인증)을 모두 제공합니다. 하나를 선택하면 둘 다 사용할 수 없습니다. 다음 예에서는 SQL Server 인증을 가정합니다.
인스턴스 이름을 사용하여 명명 된 인스턴스 instance1 에 연결 :
connSqlServer = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER=192.106.0.102\instance1;DATABASE=master;UID=sql2008;PWD=password123')
포트 번호 1443 을 사용하여 TCP / IP를 사용하여 명명 된 인스턴스에 연결 :
connSqlServer = pyodbc.connect('DRIVER={SQL Server Native Client 10.0};SERVER=192.106.0.102,1443;DATABASE=master;UID=sql2008;PWD=password123')
명명 된 인스턴스 :
connSqlServer = pyodbc.connect(driver='{SQL Server Native Client 10.0}',
server='192.106.0.102\instance1',
database='master',
uid='sql2008',pwd='password123')
TCP / IP 포트 :
connSqlServer = pyodbc.connect(driver='{SQL Server Native Client 10.0}',
server='192.106.0.102,1443',
database='master',
uid='sql2008',pwd='password123')
참조 페이지 https://stackoverflow.com/questions/25505081
반응형
'파이썬' 카테고리의 다른 글
파이썬 Flask 개발 서버를 실행하면 왜 자체적으로 두 번 실행 되나요? (0) | 2020.12.09 |
---|---|
파이썬 OpenCV Python : ValueError : 압축을 풀기에 너무 많은 값 (0) | 2020.12.09 |
파이썬 프린트가 줄 바꿈이나 공백을 추가하지 않도록하려면 어떻게해야합니까? (0) | 2020.12.09 |
파이썬 PIP는 Windows 8에서 Python 3 모듈 / 패키지를 어디에 저장합니까? (0) | 2020.12.09 |
파이썬 별도의 변수 사전을 만드는 더 간단한 방법? (0) | 2020.12.09 |
댓글