SQL Server може да се свърже с не-SQL Server база данни, като използва свързан сървър. Механизмът на свързания сървър може да използва част от междинен софтуер, известен като ODBC драйвер, за да свърже SQL Server към бекенд на трети страни като Oracle, MySQL и Salesforce.
Еквивалентът на ODBC драйвер за база данни на Java е JDBC драйвер. Microsoft не предоставя интерфейс на свързан сървър, който поддържа JDBC. По-скоро трябва да използвате интерфейса на ODBC свързан сървър (Microsoft OLE DB доставчик за ODBC драйвери) с ODBC драйвер, отколкото може да превеждате между ODBC и JDBC. Например ODBC-JDBC Gateway. Шлюзът ODBC-JDBC свързва приложение, което използва ODBC, към база данни, която е достъпна чрез JDBC. За приложението ODBC-JDBC Gateway е ODBC драйвер. За JDBC драйвера ODBC-JDBC Gateway е Java приложение.
Използвайте ODBC-JDBC Gateway за:
- Използвайте свързан сървър за работа с JDBC данни, точно както ако работите с данни, съхранявани в таблица на SQL Server.
- Интегрирайте JDBC данни със SQL Server с помощта на SQL Server Integration Services (SSIS).
Инсталиране и лицензиране на ODBC-JDBC Gateway
- Изтеглете Windows ODBC-JDBC Gateway.
- Инсталирайте и лицензирайте ODBC-JDBC Gateway на машината с Windows, където са инсталирани SQL Server/JDBC драйверът.
За инструкции за инсталиране вижте документацията на ODBC-JDBC Gateway.
Конфигуриране на ODBC източник на данни
Преди да можете да използвате ODBC-JDBC Gateway, за да свържете вашето ODBC приложение към JDBC, трябва да конфигурирате системен ODBC източник на данни. ODBC източник на данни съхранява подробностите за връзката за целевата база данни.
Конфигурирате ODBC източници на данни в ODBC Administrator, който е включен в Windows. Има две версии на ODBC Administrator, една 32-битова и една 64-битова. Трябва да стартирате 32-битовата версия, ако вашият екземпляр на SQL Server е 32-битов. Трябва да стартирате 64-битовата версия, ако вашият екземпляр на SQL Server е 64-битов.
За да разберете коя версия на SQL Server имате, свържете се с вашия екземпляр на SQL Server и след това изпълнете този SQL оператор:
изберете SERVERPROPERTY('edition')
За да стартирате 32-битовия ODBC администратор, в диалоговия прозорец Изпълнение на Windows въведете:
%windir%\syswow64\odbcad32.exe
За да стартирате 64-битовия ODBC администратор, в диалоговия прозорец Изпълнение на Windows въведете:
odbcad32.exe
Използвайте ODBC Administrator, за да създадете източник на данни за ODBC-JDBC Gateway.
Създаване на източник на ODBC данни на ODBC-JDBC Gateway
- Изберете раздела System DSN и след това изберете Добавяне.
- В диалоговия прозорец Създаване на нов източник на данни изберете ODBC-JDBC Gateway и след това изберете Край.
- Завършете диалоговия прозорец за настройка на ODBC-JDBC Gateway DSN:
Setting Описание DSN OJG_DSN Потребителско име Потребителското име за вашия бекенд на Java, ако е необходимо. Парола Паролата за потребителско име. Клас водач Вижте документацията на вашия JDBC драйвер за стойността, която трябва да въведете тук. Път на клас Използвайте бутона Добавяне, за да прегледате JAR / ZIP файл на вашия JDBC драйвер. URL адрес JDBC URL адресът, използван от вашия JDBC драйвер за свързване към бекенда на Java. Вижте документацията на вашия JDBC драйвер за синтаксиса, който трябва да използвате. - Използвайте бутона Тест, за да потвърдите, че можете успешно да се свържете с бекенда на Java.
Пример:Извличане на JDBC данни чрез използване на свързан сървър
- В Microsoft SQL Server Management Studio се свържете с екземпляра на SQL Server, срещу който искате да създадете свързания сървър.
Трябва да влезете с акаунт, който е член на фиксираната сървърна роля на системния администратор на SQL Server, за да създадете свързан сървър.
- Щракнете с десния бутон върху сървърни обекти. От изскачащото меню изберете Нов> Свързан сървър.
- В полето Свързан сървър въведете „OJG“.
- От списъка с доставчици изберете Microsoft OLE DB доставчик за ODBC драйвери.
- В полето Източник на данни въведете името на вашия ODBC източник на данни за ODBC-JDBC Gateway и след това изберете OK.
SQL Server проверява свързания сървър, като тества връзката.
- Ако получите грешката „Указаният драйвер не може да бъде зареден поради системна грешка 126:Посоченият модул не може да бъде намерен“, изберете Да, когато бъдете подканени дали да запазите свързания сървър. Трябва да рестартирате своя екземпляр на SQL Server, преди да можете да използвате свързания сървър. Ако SQL Server вече е работил, когато сте инсталирали ODBC-JDBC Gateway, той няма да има най-новата версия на променливата на средата System PATH. Програмата за настройка на ODBC-JDBC Gateway добавя записи за драйвера към System PATH. Рестартирането на екземпляра прави тези промени достъпни за SQL Server, което му позволява да зареди ODBC-JDBC Gateway.
- Ако сте направили грешка, когато сте посочили източника на данни на ODBC-JDBC Gateway, получавате грешка „Името на източника на данни не е намерено и не е указан драйвер по подразбиране. Ако получите тази грешка, изберете Не, когато бъдете подканени дали да запазите свързания сървър и редактирайте стойността в полето Източник на данни.
- Можете да направите заявка за вашите JDBC данни или като използвате:
- Име на таблица от четири части в разпределена заявка.
Името на таблица от четири части има формат:
име_сървър .[име_на_база_данни ].[име_на_схема ].име_на_таблица .
В зависимост от вашия бекенд на Java, трябва да пропуснете името на базата данни и схемата. Например:
ИЗБЕРЕТЕ * от OJG...my_table
- Заявка за преминаване във функция OPENQUERY. Например:
SELECT * FROM OPENQUERY(OJG, 'SELECT * FROM my_table')
SQL Server изпраща преходни заявки като неинтерпретирани низове на заявка към ODBC-JDBC Gateway. Това означава, че SQL Server не прилага никаква логика към заявката или не се опитва да прецени какво ще направи тази заявка.
- Име на таблица от четири части в разпределена заявка.