Тъй като току-що пуснахме нашия ODBC-ODBC Bridge за платформата Windows 10, решихме да използваме тази възможност да напишем блог за продукта, за да опишем за какво ще го използвате.
По-голямата част от нашите продукти са „едностепенни“ ODBC драйвери, които свързват приложение към конкретна база данни. Например, нашият SQL Server ODBC драйвер свързва приложение към база данни на SQL Server. ODBC драйверът се нарича едностепенен, защото комуникира директно с базата данни.
ODBC-ODBC Bridge обаче е многостепенен ODBC драйвер с клиентски и сървърен компонент. ODBC-ODBC Bridge се намира между приложението и (трета страна) ODBC драйвер, предавайки ODBC API повиквания, направени от приложението. ODBC-ODBC Bridge клиентът е ODBC драйвер за приложението. ODBC-ODBC Bridge сървърът действа като приложение към целевия ODBC драйвер.
И така, защо трябва да въвеждате този допълнителен слой за свързване на данни?
ODBC-ODBC Bridge осигурява механизъм за кръстосана платформена / кръстосана архитектура за приложение, което да работи с ODBC драйвер. Първоначално това беше използвано като решение за клиенти, които трябваше да използват ODBC драйвер, който не беше наличен на платформата на тяхното приложение. Например приложението на клиента работеше под Linux, но целевият ODBC драйвер беше наличен само в Windows.
Напоследък най-честата употреба на ODBC-ODBC Bridge е, когато клиентът използва 64-битово приложение, но техният ODBC драйвер е само 32-битов (или обратно). ODBC драйверът е библиотека и архитектурата на приложението и използваните от него библиотеки трябва да са еднакви. Обикновено потребителите първо биват информирани за това изискване, когато опитът им да се свържат с база данни се провали с грешката „Указаният DSN съдържа несъответствие в архитектурата между драйвера и приложението“. Това е грешка, генерирана от ODBC Driver Manager, включен в Windows, и с новата версия на ODBC-ODBC Bridge, това е проблем, който вече може да бъде решен с Windows 10. (ODBC-ODBC Bridge също е достъпен на по-ранни версии на Windows, като се започне с Windows 2000.)
В Windows ODBC-ODBC Bridge включва както 64-битова, така и 32-битова двойка клиенти и сървъри. 64-битовият клиент предоставя 64-битов ODBC драйвер на приложението. 32-битовият сървър предоставя 32-битово приложение за 32-битовия ODBC драйвер. Клиентът и сървърът могат да съществуват съвместно на една и съща машина с Windows и да комуникират чрез използване на неутрален по архитектура механизъм, което означава, че няма значение за ODBC-ODBC Bridge дали клиентът говори с 32-битов или 64-битов сървър.
За да вземем общ пример, искате да свържете 64-битово приложение към база данни на Access във формат MDB, но ODBC драйверът за вашата база данни е 32-битов. Вие ще инсталирате версията на Windows на ODBC-ODBC Bridge на вашата машина и ще приемете опцията за инсталиране по подразбиране за инсталиране както на клиента, така и на сървъра. И накрая, ще конфигурирате 64-битов ODBC-ODBC Bridge клиентски източник на данни в ODBC Administrator, който сочи към вашия 32-битов източник на данни за достъп. След това вашето 64-битово приложение може да се свърже с 32-битовия ODBC драйвер, без да знае за междинния софтуер, който улеснява тази интеграция.
(По подобен начин 32-битов ODBC-ODBC Bridge клиент може да разговаря с 64-битов сървър, ако ситуацията ви е противоположна на тази, илюстрирана от предишния пример.)