Widziałem częściowe informacje, stare informacje, ale nic tak dobrego jak rzeczywiste przykładowe pliki z krótkimi komentarzami, które mam lokalnie.
Muszę zrozumieć dokładny związek między odbc.ini
i odbcinst.ini
. Pozornie jest to dość oczywiste - u góry odbc.ini
pliku znajduje się sekcja taka jak:
[ODBC Data Sources]
MYDSN = MyDriverName
...
Nie jestem jednak pewien, czy mogę na przykład mieć ustawienia w sekcji sterownika lub DSN.
1) Mam linię Driver = /path/to/file/.so
w obu plikach, a wartości czasami się różnią. Czy to w ogóle ma sens? Jeśli tak, co przeważa?
2) Czy odbcinst.ini
„prototyp” przypomina JavaScript odbc.ini
? Innymi słowy, jeśli tworzę wiele DSN o wspólnych ustawieniach, czy mogę promować wspólne ustawienia od odbc.ini
do odbcinst.ini
?
3) Jaka jest różnica pomiędzy Driver
i Setup
w odbcinst.ini
? Wydają się mieć te same wartości. Czy te ustawienia są specyficzne dla bazy danych, czy są uniwersalne?
Odpowiedzi:
Używam
FreeTDS
na,Debian
aby połączyćphp
stronę internetową zMS-SQL Server 2005
bazą danych.Wyjaśnienie, które mogę podać plikom konfiguracyjnym:
/etc/odbc.ini
Przechowuje instancję, do której odwołuje się moduł obsługi (np.
php
), Który łączy się z bazą danych (patrz przykład poniżej). Konfiguracja określa serwer, z którym musi się połączyć.-
/etc/odbcinst.ini
Przechowuje konfigurację dla
Driver
sekcji wodbc.ini
.-
show-companies.php
Przykładowy
php
kod pokazujący, jak skonfigurować i korzystać z połączenia.itd itd..
Jestem pewien, że istnieje wiele innych zmiennych, które można ustawić i używać, ale jest to najprostsze wyjaśnienie, jakie mogę podać na temat plików, o które pytałeś.
źródło
Jeśli spojrzysz tylko na implementacje Uniksa, zobaczysz kilka interesujących pomysłów na temat działania ODBC. Żadna z tych implementacji nie jest w 100% porównywalna z referencyjną implementacją w systemie Windows, wyprodukowaną przez opiekuna specyfikacji ODBC, tj . Microsoft .
Istnieją dwa menedżery sterowników ODBC powszechnie spotykane w Uniksie. iODBC , którego dokumentacja dotycząca tego pytania znajduje się tutaj , jest prowadzona i wspierana przez mojego pracodawcę. UnixODBC jest drugim i został omówiony w innych odpowiedziach. Mają one być interfejsami API równoważnymi sobie nawzajem i implementacji systemu Windows, ponieważ oba są implementacjami standardu niezależnymi od platformy.
Mówiąc najprościej,
odbcinst.ini
jest plikiem rejestru i konfiguracji dla sterowników ODBC w środowisku, podczas gdyodbc.ini
jest plikiem rejestru i konfiguracji dla DSN ODBC (Nazwy źródeł danych), zwykle opartych na sterownikach zarejestrowanych w innym.Miałeś kilka szczegółowych pytań ...
Driver = /path/to/file.so
Ogół powinna być taka sama w obu plików, gdy obie są wyrażone jako ścieżki. Wodbc.ini
tym wpisie może zamiast tego znajdowaćDriver = {name of driver}
się nazwa indeksuodbcinst.ini
. Ogólnie mówiąc, ustawieniaodbc.ini
mają pierwszeństwo przed ustawieniami sprzecznymi,odbcinst.ini
jeśli takie istnieją.Nie,
odbcinst.ini
nie jest w ten sposób „prototypem”.odbcinst.ini
ustawienia odnoszą się do sterownika , ale nie do DSN opartych na tym sterowniku.W
odbcinst.ini
TheDriver =
odnosi się do biblioteki sterownika, aSetup =
do biblioteki konfiguracji. Ten ostatni jest całkowicie opcjonalny, a gdy już istnieje, może, ale nie musi, być używany podczas połączenia danych; jest przeznaczony przede wszystkim do użytku przez administratora ODBC podczas „konfigurowania” takich połączeń, które mają być zapisane jako DSN. Czasami biblioteki te znajdują się w tym samym pliku fizycznym, ale nie muszą, i na przykład zazwyczaj nie znajdują się w środowisku OS X.źródło
Dobra prosta różnica między odbcinst.ini i odbc.ini ze strony unixodbc, która jest pierwszym hitem w Google:
źródło
Instrukcje powinny być tutaj (kliknij
Manuals
wtedyUser Manual
). Ale niestety linki doAdministrator Manual
iProgrammer Manual
są zepsute. (Zgłosiłem to i powiedziano mi, że zostaną naprawione).Więc na razie ...
Brakujące instrukcje można znaleźć, pobierając plik unixODBC-2.3.4.tar.gz ze strony http://www.unixodbc.org/, a następnie otwórz go za pomocą menedżera archiwów (lub podobnego) i spójrz na te trzy instrukcje:
źródło