Bagikan melalui


Sumber Data: Mengonfigurasi Sumber Data ODBC secara Terprogram

Topik ini menjelaskan bagaimana Anda dapat mengonfigurasi nama sumber data Open Database Koneksi ivity (ODBC) secara terprogram. Ini memberi Anda fleksibilitas untuk mengakses data tanpa memaksa pengguna untuk secara eksplisit menggunakan Administrator ODBC atau program lain untuk menentukan nama sumber data.

Biasanya, pengguna menjalankan Administrator ODBC untuk membuat sumber data jika sistem manajemen database (DBMS) terkait mendukung operasi ini.

Saat membuat sumber data ODBC Microsoft Access melalui Administrator ODBC, Anda diberi dua pilihan: Anda dapat memilih file .mdb yang sudah ada atau Anda dapat membuat file .mdb baru. Tidak ada cara terprogram untuk membuat file .mdb dari aplikasi MFC ODBC Anda. Oleh karena itu, jika aplikasi mengharuskan Anda menempatkan data ke sumber data Microsoft Access (file.mdb), Kemungkinan besar Anda ingin memiliki file .mdb kosong yang dapat Anda gunakan atau salin kapan pun Anda membutuhkannya.

Namun, banyak DBMS memungkinkan pembuatan sumber data terprogram. Beberapa sumber data mempertahankan spesifikasi direktori untuk database. Artinya, direktori adalah sumber data dan setiap tabel dalam sumber data disimpan dalam file terpisah (dalam kasus dBASE, setiap tabel adalah file .dbf). Driver untuk database ODBC lainnya, seperti Microsoft Access dan SQL Server, mengharuskan beberapa kriteria tertentu dipenuhi sebelum sumber data dapat dibuat. Misalnya, saat menggunakan driver ODBC SQL Server, Anda harus telah membuat komputer SQL Server.

Contoh SQLConfigDataSource

Contoh berikut menggunakan ::SQLConfigDataSource fungsi ODBC API untuk membuat sumber data Excel baru yang disebut Sumber Data Excel Baru:

SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Excel Files (*.xls)",
                   "DSN=New Excel Data Source\0"
                   "Description=New Excel Data Source\0"
                   "FileType=Excel\0"
                   "DataDirectory=C:\\EXCELDIR\0"
                   "MaxScanRows=20\0");

Perhatikan bahwa sumber data sebenarnya adalah direktori (C:\EXCELDIR); direktori ini harus ada. Driver Excel menggunakan direktori sebagai sumber data dan filenya sebagai tabel individual (satu tabel per file .xls).

Untuk informasi selengkapnya tentang membuat tabel, lihat Sumber Data: Membuat Tabel secara Terprogram di Sumber Data ODBC.

Informasi berikut membahas parameter yang perlu diteruskan ke ::SQLConfigDataSource fungsi ODBC API. Untuk menggunakan ::SQLConfigDataSource, Anda harus menyertakan file header Odbcinst.h dan menggunakan pustaka impor Odbcinst.lib. Selain itu, Odbccp32.dll harus berada di jalur pada waktu proses (atau Odbcinst.dll untuk 16 bit).

Anda dapat membuat nama sumber data ODBC menggunakan Administrator ODBC atau utilitas serupa. Namun, terkadang diinginkan untuk membuat nama sumber data langsung dari aplikasi Anda untuk mendapatkan akses tanpa mengharuskan pengguna untuk menjalankan utilitas terpisah.

Administrator ODBC (biasanya diinstal di Panel Kontrol) membuat sumber data baru dengan menempatkan entri di registri Windows (atau, untuk 16 bit, dalam file Odbc.ini). Manajer Driver ODBC meminta file ini untuk mendapatkan informasi yang diperlukan tentang sumber data. Penting untuk mengetahui informasi apa yang perlu ditempatkan di registri karena Anda perlu menyediakannya dengan panggilan ke ::SQLConfigDataSource.

Meskipun informasi ini dapat ditulis langsung ke registri tanpa menggunakan ::SQLConfigDataSource, aplikasi apa pun yang melakukannya mengandalkan teknik saat ini yang digunakan Driver Manager untuk mempertahankan datanya. Jika revisi selanjutnya ke ODBC Driver Manager menerapkan penyimpanan rekaman tentang sumber data dengan cara yang berbeda, aplikasi apa pun yang menggunakan teknik ini rusak. Umumnya disarankan untuk menggunakan fungsi API ketika disediakan. Misalnya, kode Anda portabel dari 16 bit hingga 32 bit jika Anda menggunakan ::SQLConfigDataSource fungsi , karena fungsi menulis dengan benar ke file Odbc.ini atau ke registri.

Parameter SQLConfigDataSource

Berikut ini menjelaskan parameter ::SQLConfigDataSource fungsi. Sebagian besar informasi diambil dari Referensi Programmer API ODBC yang disediakan dengan Visual C++ versi 1.5 dan yang lebih baru.

Prototipe Fungsi

BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);

Keterangan

Parameter dan Penggunaan

hwndParent
Jendela yang ditentukan sebagai pemilik kotak dialog apa pun yang dibuat oleh Odbc Driver Manager atau driver ODBC tertentu untuk mendapatkan informasi tambahan dari pengguna tentang sumber data baru. Jika parameter lpszAttributes tidak menyediakan informasi yang cukup, kotak dialog akan muncul. Parameter hwndParent mungkin NULL.

lpszDriver
Deskripsi driver. Ini adalah nama yang disajikan kepada pengguna daripada nama driver fisik (DLL).

lpszAttributes
Daftar atribut dalam formulir "keyname=value". String ini dipisahkan oleh terminator null dengan dua terminator null berturut-turut di akhir daftar. Atribut ini terutama merupakan entri khusus driver default, yang masuk ke registri untuk sumber data baru. Salah satu kunci penting yang tidak disebutkan dalam referensi ODBC API untuk fungsi ini adalah "DSN" ("nama sumber data"), yang menentukan nama sumber data baru. Entri lainnya khusus untuk driver untuk sumber data baru. Seringkali tidak perlu menyediakan semua entri karena driver dapat meminta pengguna dengan kotak dialog untuk nilai baru. (Atur hwndParent ke NULL untuk menyebabkan ini.) Anda mungkin ingin secara eksplisit menyediakan nilai default sehingga pengguna tidak diminta.

Untuk menentukan deskripsi driver untuk parameter lpszDriver menggunakan Administrator ODBC

  1. Jalankan Administrator ODBC.

  2. Klik Tambahkan.

Ini memberi Anda daftar driver yang diinstal dan deskripsinya. Gunakan deskripsi ini sebagai parameter lpszDriver . Perhatikan bahwa Anda menggunakan seluruh deskripsi, seperti "File Excel (*.xls)", termasuk ekstensi nama file dan tanda kurung jika ada dalam deskripsi.

Sebagai alternatif, Anda dapat memeriksa registri (atau, untuk 16 bit, file Odbcinst.ini), yang berisi daftar semua entri dan deskripsi driver di bawah kunci registri "Driver ODBC" (atau bagian [Driver ODBC] di Odbcinst.ini).

Salah satu cara untuk menemukan nama kunci dan nilai untuk parameter lpszAttributes adalah dengan memeriksa file Odbc.ini untuk sumber data yang sudah dikonfigurasi (mungkin yang telah dikonfigurasi oleh Administrator ODBC).

Untuk menemukan nama kunci dan nilai untuk parameter lpszAttributes

  1. Jalankan editor registri Windows (atau, untuk 16 bit, buka file Odbc.ini).

  2. Temukan informasi sumber data ODBC menggunakan salah satu hal berikut ini:

    • Untuk 32 bit, temukan kunci HKEY_CURRENT_USER\Software\ODBC\ODBC. INI\ODBC Sumber Data di panel kiri.

      Panel kanan mencantumkan entri formulir: "pub: REG_SZ:<nama> sumber data", di mana< nama> sumber data adalah sumber data yang telah dikonfigurasi dengan pengaturan yang diinginkan untuk driver yang ingin Anda gunakan. Pilih sumber data yang Anda inginkan, misalnya, SQL Server. Item yang mengikuti string "pub:" adalah, secara berurutan, nama kunci dan nilai yang akan digunakan dalam parameter lpszAttributes Anda.

    • Untuk 16 bit, temukan bagian dalam file Odbc.ini yang ditandai oleh [<nama> sumber data].

      Baris yang mengikuti baris ini adalah formulir "keyname=value". Ini adalah entri yang tepat untuk digunakan dalam parameter lpszAttributes Anda.

Anda mungkin juga ingin memeriksa dokumentasi untuk driver tertentu yang akan Anda gunakan. Anda dapat menemukan informasi yang berguna dalam Bantuan online untuk driver, yang dapat Anda akses dengan menjalankan Administrator ODBC. File Bantuan ini biasanya ditempatkan di direktori WINDOWS\SYSTEM untuk Windows NT, Windows 3.1, atau Windows 95.

Untuk mendapatkan Bantuan online untuk driver ODBC Anda

  1. Jalankan Administrator ODBC.

  2. Klik Tambahkan.

  3. Pilih nama driver.

  4. Klik OK.

Ketika Administrator ODBC menampilkan informasi untuk membuat sumber data baru untuk driver tertentu, klik Bantuan. Ini membuka file Bantuan untuk driver tertentu, yang umumnya berisi informasi penting tentang penggunaan driver.

Baca juga

Sumber Data (ODBC)