복붙노트

[SQL] PYODBC - 데이터 원본 이름을 찾을 수 없습니다 지정된 기본 드라이버가 없습니다

SQL

PYODBC - 데이터 원본 이름을 찾을 수 없습니다 지정된 기본 드라이버가 없습니다

import pyodbc
connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
                            'Database=CSM_reporting;Trusted_Connection=yes;')

오류:

connection = pyodbc.connect('Driver = {SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
    pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')

해결법

  1. ==============================

    1.연결 문자열에 드라이버 키워드 뒤에 공백을 넣지 마십시오.

    연결 문자열에 드라이버 키워드 뒤에 공백을 넣지 마십시오.

    이것은 Windows에서 실패 ...

    conn_str = (
        r'DRIVER = {SQL Server};'
        r'SERVER=(local)\SQLEXPRESS;'
        r'DATABASE=myDb;'
        r'Trusted_Connection=yes;'
    )
    cnxn = pyodbc.connect(conn_str)
    

    ...하지만이 작품 :

    conn_str = (
        r'DRIVER={SQL Server};'
        r'SERVER=(local)\SQLEXPRESS;'
        r'DATABASE=myDb;'
        r'Trusted_Connection=yes;'
    )
    cnxn = pyodbc.connect(conn_str)
    
  2. ==============================

    2.내가 사용하고 있습니다

    내가 사용하고 있습니다

    이 문제를 해결하기 위해 시간의 SQL 서버 2012 사용 후 많은 연결 그리고 마지막으로이 일을하면서 같은 오류가 발생했습니다.

    나는 변경

    그것은했다.

  3. ==============================

    3.나는 같은 문제를 충족하고 아래와 같이 연결 문자열을 변경 수정했습니다. 쓰다

    나는 같은 문제를 충족하고 아래와 같이 연결 문자열을 변경 수정했습니다. 쓰다

    'DRIVER={ODBC Driver 13 for SQL Server}'
    

    대신에

    'DRIVER={SQL Server}'
    
  4. ==============================

    4.당신이 시도 할 수 :

    당신이 시도 할 수 :

    import pyodbc
    # Using a DSN
    cnxn = pyodbc.connect('DSN=odbc_datasource_name;UID=db_user_id;PWD=db_password')
    

    주 : "odbc_datasource_name"을 알아야합니다. 윈도우에서는 ODBC 데이터 소스를 검색 할 수 있습니다. 이름은 다음과 같이 보일 것입니다 :

    데이터 소스 이름 예

  5. ==============================

    5.나는이 문제를 직면하고 솔루션을 찾고있었습니다. 마지막으로 나는 https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows, 내 MSSQL 12 만 "{SQL Server에 대한 ODBC 드라이버 (11)}의에서 모든 옵션을 시도하고 있었다 "작동합니다. 그냥 하나 하나를 시도해보십시오. 그리고 당신이 두 번째 중요한 것은 내가 세트에 모든 경우에 \ SQLEXPRESS이 필요하다는 것을 귀하게 생각하지만 정확히 서버 속성에서 무엇을보고 설정할 필요가 있음을 발견하기 때문에, 올바른 서버 이름을 얻을 수 있습니다. 스크린 샷에 예제 :

    나는이 문제를 직면하고 솔루션을 찾고있었습니다. 마지막으로 나는 https://github.com/mkleehammer/pyodbc/wiki/Connecting-to-SQL-Server-from-Windows, 내 MSSQL 12 만 "{SQL Server에 대한 ODBC 드라이버 (11)}의에서 모든 옵션을 시도하고 있었다 "작동합니다. 그냥 하나 하나를 시도해보십시오. 그리고 당신이 두 번째 중요한 것은 내가 세트에 모든 경우에 \ SQLEXPRESS이 필요하다는 것을 귀하게 생각하지만 정확히 서버 속성에서 무엇을보고 설정할 필요가 있음을 발견하기 때문에, 올바른 서버 이름을 얻을 수 있습니다. 스크린 샷에 예제 :

  6. ==============================

    6.오류 : pyodbc.InterfaceError : ( 'IM002', '[IM002]가 [마이크로 소프트] [ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수 없으며 기본 드라이버 (0을 지정하지 ()의 SQLDriverConnect)')

    오류 : pyodbc.InterfaceError : ( 'IM002', '[IM002]가 [마이크로 소프트] [ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수 없으며 기본 드라이버 (0을 지정하지 ()의 SQLDriverConnect)')

    드라이버 및 이벤트 사이에는 공백 없다

    연결 = 드라이버 = {SQL 서버 네이티브 클라이언트 11.0}; "서버 = 서버 이름;" "데이터베이스 = DBNAME;" "Trusted_Connection = 예;"

  7. ==============================

    7.아래에보십시오 :

    아래에보십시오 :

    import pyodbc
    
    server = 'servername'
    
    database = 'DB'
    
    username = 'UserName'
    
    password = 'Password'
    
    cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
    
    cursor = cnxn.cursor()
    
    
    cursor.execute('SELECT * FROM Tbl')
    
    for row in cursor:
        print('row = %r' % (row,))
    
  8. ==============================

    8.연결 문자열 아래 노력하고 있습니다

    연결 문자열 아래 노력하고 있습니다

    import pandas as pd
    import pyodbc as odbc
    
    sql_conn = odbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=SERVER_NAME;DATABASE=DATABASE_NAME;UID=USERNAME;PWD=PASSWORD;')
    
    query = "SELECT * FROM admin.TABLE_NAME"
    df = pd.read_sql(query, sql_conn)
    df.head()
    
  9. ==============================

    9.외에 다른 답변에서, 연결 문자열 자체를 고려하는 것이, 단순히 올바른 ODBC 드라이버를 다운로드해야 할 수도 있습니다. 파이썬 응용 프로그램을 실행할 때 내 클라이언트는 단지 그것을 필요한 것으로,이 문제에 직면했다. 당신은 창 + 입력 "ODBC"를 눌러이를 확인할 수 있습니다. 올바른 드라이버는 드라이버 탭에 표시됩니다.

    외에 다른 답변에서, 연결 문자열 자체를 고려하는 것이, 단순히 올바른 ODBC 드라이버를 다운로드해야 할 수도 있습니다. 파이썬 응용 프로그램을 실행할 때 내 클라이언트는 단지 그것을 필요한 것으로,이 문제에 직면했다. 당신은 창 + 입력 "ODBC"를 눌러이를 확인할 수 있습니다. 올바른 드라이버는 드라이버 탭에 표시됩니다.

  10. ==============================

    10.당신이 당신의 시스템 기계에서 SQL의 제품을 설치 한 적이 있습니까? 다운로드하고 "SQL Server에 대한 ODBC 드라이버 (13) (또는 버전)"을 설치하고 아직 수행하지 않은 경우 실행하려고 할 수 있습니다.

    당신이 당신의 시스템 기계에서 SQL의 제품을 설치 한 적이 있습니까? 다운로드하고 "SQL Server에 대한 ODBC 드라이버 (13) (또는 버전)"을 설치하고 아직 수행하지 않은 경우 실행하려고 할 수 있습니다.

  11. from https://stackoverflow.com/questions/46045834/pyodbc-data-source-name-not-found-and-no-default-driver-specified by cc-by-sa and MIT license