Rumah >pangkalan data >tutorial mysql >Mengapakah PyODBC melemparkan ralat 'IM002': 'Nama sumber data tidak ditemui dan tiada pemacu lalai ditentukan'?

Mengapakah PyODBC melemparkan ralat 'IM002': 'Nama sumber data tidak ditemui dan tiada pemacu lalai ditentukan'?

Linda Hamilton
Linda Hamiltonasal
2025-01-24 07:41:13970semak imbas

Why is PyODBC throwing an

Menyelesaikan ralat PyODBC: Sumber data tidak ditemui dan tiada pemacu lalai ditentukan

Apabila menggunakan PyODBC untuk menyambung ke pangkalan data SQL Server, anda mungkin menghadapi ralat berikut:

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

pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')</code>

Ralat ini menunjukkan bahawa sumber data yang ditentukan tidak dapat ditemui dan pemacu lalai tidak ditetapkan. Untuk menyelesaikan isu ini, sila ikut langkah berikut:

  1. Nyatakan pemacu ODBC dengan jelas:

    PyODBC tidak menyatakan pemacu ODBC tertentu secara lalai. Anda perlu menunjukkan secara jelas pemacu yang anda mahu gunakan dalam rentetan sambungan. Dalam contoh ini, pemandu ialah "ODBC Driver 17 for SQL Server".

    <code class="language-python">connection = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};Server=SIWSQL43A\SIMSSPROD43A;'
                              'Database=CSM_reporting;Trusted_Connection=yes;')</code>
  2. Kemas kini konfigurasi ODBC:

    Jika anda memasang berbilang versi ODBC, pastikan versi yang anda mahu gunakan ditetapkan sebagai pemacu lalai. Anda boleh menyemak tetapan ini dalam alat Pentadbir Sumber Data ODBC.

    Buka Panel Kawalan, cari "odbc", dan kemudian pilih "Pengurus Sumber Data ODBC (64-bit)". Di bawah tab "System DSN", semak sama ada pemacu ODBC yang betul dipilih sebagai pemacu lalai. Jika tidak, pilih dan klik Tetapkan sebagai Lalai.

Dengan menyatakan pemacu ODBC yang sesuai dan memastikan ia ditetapkan kepada lalai, anda sepatutnya berjaya mewujudkan sambungan ke pangkalan data SQL Server anda menggunakan PyODBC.

Atas ialah kandungan terperinci Mengapakah PyODBC melemparkan ralat 'IM002': 'Nama sumber data tidak ditemui dan tiada pemacu lalai ditentukan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn