Якщо ви подивитесь лише на виконання Unix, ви отримаєте кілька цікавих ідей про те, як працює ODBC. Жодна з цих реалізацій не на 100% порівнянна з еталонною реалізацією в Windows, виробленою технічним обслуговувачем специфікації ODBC, тобто Microsoft .
У Unix зазвичай зустрічаються два менеджери драйверів ODBC. iODBC , чия документація, що стосується цього питання, знаходиться тут , підтримується та підтримується моїм роботодавцем. UnixODBC - це інше, про що йшлося в інших відповідях. Вони повинні бути еквівалентними API один одному та реалізацією Windows, оскільки обидва є платформово-агностичними реалізаціями стандарту.
Простіше кажучи, odbcinst.ini
це файл реєстру та конфігурації для драйверів ODBC в середовищі, тоді odbc.ini
як файл реєстру та конфігурації для DSN-кодів ODBC (Імена джерел даних), як правило, засновані на драйверах, зареєстрованих в іншому.
У вас було кілька конкретних питань ...
1) У мене є рядки Driver = /path/to/file/.so
в обох файлах, і значення іноді відрізняються. Це навіть має сенс? Якщо так, що переважає?
Як Driver = /path/to/file.so
правило, вони повинні бути однаковими в обох файлах, коли обидва виражаються у вигляді шляхів. У odbc.ini
цьому замість цього запису може бути місце, Driver = {name of driver}
де ім'я індексовано odbcinst.ini
. Взагалі кажучи, налаштування odbc.ini
переважають над конфліктуючими, odbcinst.ini
якщо такі існують.
2) Чи odbcinst.ini
"прототип" схожий на JavaScript odbc.ini
? Тобто, якщо я створюю ряд DSNs із загальними настройками, можна просувати спільні настройки з odbc.ini
в odbcinst.ini
?
Ні, odbcinst.ini
не є "прототипом" таким чином. odbcinst.ini
налаштування стосуються драйвера , але не для DSN, заснованих на цьому драйвері.
3) Яка різниця між Driver
і Setup
в odbcinst.ini
? Вони, схоже, мають однакові значення. Ці налаштування є специфічними для бази даних чи вони універсальні?
В odbcinst.ini
, Driver =
посилається на бібліотеку драйверів і бібліотеку Setup =
налаштувань. Останнє є абсолютно необов’язковим, і коли воно існує, воно може, але не потрібно використовувати під час з'єднання даних; він в першу чергу призначений для використання адміністратором ODBC при "налаштуванні" таких з'єднань, щоб зберігатись як DSN. Іноді ці бібліотеки знаходяться в одному фізичному файлі, але вони не повинні бути, і, наприклад, зазвичай не знаходяться в середовищі OS X.