Jika Anda hanya melihat implementasi Unix, Anda akan mendapatkan beberapa ide menarik tentang cara kerja ODBC. Tidak satu pun dari implementasi ini yang 100% dapat dibandingkan dengan implementasi referensi pada Windows, diproduksi oleh pengelola spec ODBC, yaitu Microsoft .
Ada dua manajer driver ODBC yang biasa ditemukan di Unix. iODBC , yang dokumentasinya relevan dengan pertanyaan ini ada di sini , dikelola dan didukung oleh majikan saya. UnixODBC adalah yang lain, dan dibahas dalam jawaban lain. Ini dimaksudkan untuk menjadi setara API satu sama lain dan untuk implementasi Windows, karena keduanya merupakan implementasi platform-agnostik dari standar.
Secara sederhana, odbcinst.ini
adalah file registri dan konfigurasi untuk driver ODBC di lingkungan, sedangkan odbc.ini
file registri dan konfigurasi untuk ODBC DSN (Nama Sumber Data), biasanya berdasarkan driver yang terdaftar di yang lain.
Anda punya beberapa pertanyaan spesifik ...
1) Saya memiliki garis Driver = /path/to/file/.so
di kedua file dan nilainya terkadang berbeda. Apakah ini masuk akal? Jika demikian, mana yang berlaku?
The Driver = /path/to/file.so
umumnya harus sama di kedua file ketika keduanya dinyatakan sebagai jalur. Di odbc.ini
, entri ini sebagai gantinya di Driver = {name of driver}
mana nama tersebut diindeks odbcinst.ini
. Secara umum, pengaturan di odbc.ini
menang atas pengaturan yang bertentangan di odbcinst.ini
jika ada.
2) Apakah odbcinst.ini
"prototipe" seperti JavaScript dibuat untuk odbc.ini
? Dengan kata lain, jika saya menciptakan sejumlah DSNs dengan pengaturan umum, dapat saya mempromosikan pengaturan umum dari odbc.ini
dalam odbcinst.ini
?
Tidak, odbcinst.ini
bukan "prototipe" dengan cara ini. odbcinst.ini
pengaturan relevan untuk driver , tetapi tidak untuk DSN berdasarkan driver itu.
3) Apa perbedaan antara Driver
dan Setup
di dalam odbcinst.ini
? Mereka tampaknya memiliki nilai yang sama. Apakah pengaturan ini khusus untuk database atau universal?
Di odbcinst.ini
, Driver =
merujuk ke pustaka driver, dan Setup =
ke pustaka pengaturan. Yang terakhir ini sepenuhnya opsional, dan jika memang ada, mungkin tetapi tidak perlu digunakan selama koneksi data; itu terutama dimaksudkan untuk digunakan oleh Administrator ODBC ketika "mengatur" koneksi seperti itu, untuk disimpan sebagai DSN. Kadang-kadang, pustaka ini ditemukan dalam file fisik yang sama, tetapi tidak harus, dan, misalnya, biasanya tidak ada di lingkungan OS X.