pyodbc 예제

By agosto 2, 2019Sem categoria

dbo를 사용하여 간단한 SELECT 쿼리를 실행할 때 다음 데이터가 SQL Server에 표시됩니다. 사람 테이블입니다. 이것은 또한 pyodbc를 사용하여 파이썬을 SQL Server에 연결하면 얻을 수있는 데이터입니다. 이 튜토리얼은 ODBC 오라클 와이어 프로토콜 드라이버에 대한 64 비트 진행 데이터 다이렉트 Connect64와 함께 작동하는 파이썬 3.6.1 및 pyodbc를 보여줍니다. 동일한 단계는 진행률 소프트웨어에서 사용할 수 있는 다른 ODBC 드라이버에 적용할 수 있습니다. 데이터베이스에 연결하려면 pyodbc의 connect() 함수에 연결 문자열을 전달해야 합니다. 기억해야 할 가장 중요한 점은 pyodbc가 수정되지 않은 DBMS 데이터베이스 드라이버에 연결 문자열을 직접 전달한다는 것입니다. 따라서 연결 문자열은 드라이버에 따라 다릅니다 긴 SQL 문을 캡슐화하는 Python 문자열을 포맷하는 여러 가지 방법이 있습니다. 삼중 따옴표 문자열 형식을 사용하는 것은이 작업을 수행하는 확실한 방법입니다. 이렇게 하면 왼쪽에 빈 공간이 많은 문자열이 생성되지만 데이터베이스 SQL 엔진에서는 공백(탭 및 줄 바행 포함)을 무시해야 합니다. 왼쪽의 빈 공간을 제거하려면 기본 제공 텍스트 줄 바꿈 모듈에서 dedent() 함수를 사용할 수 있습니다. 예: 이 자습서에서는 DataDirect ODBC 드라이버, 파이썬 및 pyodbc를 설치하고 사용하는 방법을 알아봅니다.

코드 샘플이 포함되어 있습니다. 먼저, DataDirect ODBC 드라이버의 무료 15일 평가판을 다운로드하십시오. 그런 다음 아래 자습서를 따라 파이썬과 pyodbc를 사용하여 데이터베이스에 연결하십시오. 자습서에서는 pyodbc를 사용하여 SQL Server에 대한 연결을 보여 주지만 동일한 단계를 사용하여 DataDirect ODBC 드라이버를 사용하여 모든 데이터 원본에 연결할 수 있습니다. 데이터 원본을 사용하는 대신 코드를 수정하여 DSN 이없는 연결에 대한 pyodbc.connect() 함수에 연결 문자열을 전달할 수도 있습니다. 첫 번째 예제에서는 user_id 1에 대한 행이 없는 경우 예외를 발생시게 됩니다. fetchone() 호출은 없음을 반환합니다. 그런 다음 파이썬은 유효하지 않은 결과(없음[0])에 [0]을 적용하려고 시도합니다. `제어판 -> 관리 도구 -> 데이터 소스(ODBC)`로 이동하여 `드라이버` 탭을 클릭하여 PC에 설치된 드라이버를 확인할 수 있습니다.

`odbcad32.exe`를 실행하여 이 ODBC 관리자 창으로 이동하면 됩니다. ODBC 관리자의 별도의 32비트 및 64비트 버전이 있다는 점에 유의하십시오. 마지막으로 파이썬 명령 pyodbc.driver()를 실행하여 프로그래밍 방식으로 드라이버 이름을 얻을 수 있습니다. 이러한 모든 드라이버에 대한 연결 문자열은 본질적으로 동일합니다: 예를 들어 파이썬 DB API는 매개 변수를 시퀀스로 전달해야 한다고 지정하므로 pyodbc: 4. https://github.com/mkleehammer/pyodbc/wiki/Building-pyodbc-from-source 따라 소스에서 pyodbc를 빌드하고 설치합니다. SQLFetchScroll 및 SQLFetch 함수는 iODBC 코드에서 함께 혼합할 수 없습니다. iODBC 드라이버 관리자와 함께 pyodbc를 사용하는 경우 건너뛰기는 페치올, 페치원 및 페치many 함수와 함께 사용할 수 없습니다. 다음 예제 스크립트에서는 Python 3, pyodbc 및 ODBC DSN을 사용하여 Vertica를 쿼리하는 방법을 보여 주며 있습니다. SQLPrimaryKeys는 명명되지 않은 기본 제약 조건에 대한 기본(pk_name) 열에서 테이블 이름을 반환합니다. 예를 들어 매개 변수가 데이터베이스에 별도로 전달되어 SQL 주입 공격으로부터 보호되므로 값을 문자열에 넣는 것보다 안전합니다. 또한 다른 매개 변수로 동일한 SQL을 반복적으로 실행하는 것이 더 효율적입니다.