Saya melihat informasi parsial, informasi lama, tetapi tidak ada yang sebagus file sampel aktual dengan komentar singkat yang saya miliki secara lokal.
Saya perlu memahami hubungan yang tepat antara odbc.ini
dan odbcinst.ini
. Secara dangkal sangat jelas - di bagian atas odbc.ini
file ada bagian seperti:
[ODBC Data Sources]
MYDSN = MyDriverName
...
Namun, saya tidak yakin apakah saya dapat, misalnya, memiliki pengaturan di bagian driver atau DSN.
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?
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
?
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?
Jawaban:
Saya menggunakan
FreeTDS
padaDebian
untuk menghubungkanphp
situs-driven keMS-SQL Server 2005
database.Penjelasan yang bisa saya berikan ke file konfigurasi:
/etc/odbc.ini
Memegang instance yang dirujuk dalam handler (mis.
php
) Yang terhubung ke database (lihat contoh di bawah). Konfigurasi menentukan server yang harus disambungkan.-
/etc/odbcinst.ini
Tahan konfigurasi untuk
Driver
bagian dalamodbc.ini
.-
show-companies.php
php
Kode contoh untuk menunjukkan bagaimana saya mengatur dan menggunakan koneksi.dll .. dll ..
Saya yakin ada banyak variabel lain yang dapat diatur dan digunakan tetapi ini adalah penjelasan paling sederhana yang dapat saya berikan dari file yang Anda tanyakan.
sumber
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, sedangkanodbc.ini
file registri dan konfigurasi untuk ODBC DSN (Nama Sumber Data), biasanya berdasarkan driver yang terdaftar di yang lain.Anda punya beberapa pertanyaan spesifik ...
The
Driver = /path/to/file.so
umumnya harus sama di kedua file ketika keduanya dinyatakan sebagai jalur. Diodbc.ini
, entri ini sebagai gantinya diDriver = {name of driver}
mana nama tersebut diindeksodbcinst.ini
. Secara umum, pengaturan diodbc.ini
menang atas pengaturan yang bertentangan diodbcinst.ini
jika ada.Tidak,
odbcinst.ini
bukan "prototipe" dengan cara ini.odbcinst.ini
pengaturan relevan untuk driver , tetapi tidak untuk DSN berdasarkan driver itu.Di
odbcinst.ini
,Driver =
merujuk ke pustaka driver, danSetup =
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.sumber
Oke perbedaan sederhana antara odbcinst.ini dan odbc.ini dari situs unixodbc yang merupakan hit pertama di google:
sumber
Manual seharusnya ada di sini (klik
Manuals
kemudianUser Manual
). Namun sayangnya tautan untukAdministrator Manual
danProgrammer Manual
yang rusak. (Saya telah melaporkan ini dan diberi tahu bahwa mereka akan diperbaiki.)Jadi untuk sekarang ...
Manual yang hilang ditemukan dengan mengunduh unixODBC-2.3.4.tar.gz dari http://www.unixodbc.org/ dan kemudian membukanya dengan manajer arsip (atau sejenisnya) dan melihat tiga manual ini:
sumber