SQL Server kan verbinding maken met een niet-SQL Server-database door een gekoppelde server te gebruiken. Het gekoppelde servermechanisme kan een stukje middleware gebruiken dat bekend staat als een ODBC-stuurprogramma om SQL Server te verbinden met backends van derden, zoals Oracle, MySQL en Salesforce.
Het equivalent van een ODBC-stuurprogramma voor een Java-database is een JDBC-stuurprogramma. Microsoft biedt geen gekoppelde serverinterface die JDBC ondersteunt. In plaats daarvan moet u de ODBC-gekoppelde serverinterface (Microsoft OLE DB Provider voor ODBC-stuurprogramma's) gebruiken met een ODBC-stuurprogramma dat kan worden vertaald tussen ODBC en JDBC. Bijvoorbeeld de ODBC-JDBC-gateway. De ODBC-JDBC Gateway verbindt een applicatie die ODBC gebruikt met een database die toegankelijk is via JDBC. Voor de toepassing is de ODBC-JDBC Gateway een ODBC-stuurprogramma. Voor de JDBC-driver is de ODBC-JDBC Gateway een Java-toepassing.
Gebruik de ODBC-JDBC-gateway om:
- Gebruik een gekoppelde server om met JDBC-gegevens te werken, net alsof u werkt met gegevens die zijn opgeslagen in een SQL Server-tabel.
- Integreer JDBC-gegevens met SQL Server met behulp van SQL Server Integration Services (SSIS).
De ODBC-JDBC Gateway installeren en licentiëren
- Download de Windows ODBC-JDBC-gateway.
- Installeer en licentieer de ODBC-JDBC Gateway op de Windows-computer waarop SQL Server / het JDBC-stuurprogramma is geïnstalleerd.
Zie de ODBC-JDBC Gateway-documentatie voor installatie-instructies.
Een ODBC-gegevensbron configureren
Voordat u de ODBC-JDBC-gateway kunt gebruiken om uw ODBC-toepassing met JDBC te verbinden, moet u een systeem-ODBC-gegevensbron configureren. Een ODBC-gegevensbron slaat de verbindingsdetails op voor de doeldatabase.
U configureert ODBC-gegevensbronnen in ODBC Administrator, dat bij Windows wordt geleverd. Er zijn twee versies van ODBC Administrator, een 32-bits en een 64-bits. U moet de 32-bits versie uitvoeren als uw SQL Server-exemplaar 32-bits is. U moet de 64-bits versie uitvoeren als uw SQL Server-instantie 64-bits is.
Om erachter te komen welke versie van SQL Server u heeft, maakt u verbinding met uw SQL Server-instantie en voert u deze SQL-instructie uit:
selecteer SERVERPROPERTY('editie')
Om de 32-bits ODBC-beheerder uit te voeren, typt u in het dialoogvenster Uitvoeren van Windows:
%windir%\syswow64\odbcad32.exe
Om de 64-bits ODBC-beheerder uit te voeren, typt u in het dialoogvenster Uitvoeren van Windows:
odbcad32.exe
Gebruik ODBC Administrator om uw ODBC-JDBC Gateway-gegevensbron te maken.
Een ODBC-JDBC Gateway ODBC-gegevensbron maken
- Kies het tabblad Systeem-DSN en kies vervolgens Toevoegen.
- Kies in het dialoogvenster Nieuwe gegevensbron maken de optie ODBC-JDBC-gateway en kies vervolgens Voltooien.
- Vul het dialoogvenster ODBC-JDBC Gateway DSN Setup in:
Instelling Beschrijving DSN OJG_DSN Gebruikersnaam De gebruikersnaam voor uw Java-backend, indien nodig. Wachtwoord Het wachtwoord voor gebruikersnaam. Chauffeursklasse Raadpleeg de documentatie van uw JDBC-stuurprogramma voor de waarde die u hier moet invoeren. Klassepad Gebruik de knop Toevoegen om naar uw JDBC-stuurprogramma JAR / ZIP-bestand te bladeren. URL De JDBC-URL die door uw JDBC-stuurprogramma wordt gebruikt om verbinding te maken met de Java-backend. Raadpleeg de documentatie bij uw JDBC-stuurprogramma voor de syntaxis die u moet gebruiken. - Gebruik de knop Test om te controleren of u met succes verbinding kunt maken met de Java-backend.
Voorbeeld:JDBC-gegevens ophalen met behulp van een gekoppelde server
- Maak in Microsoft SQL Server Management Studio verbinding met de SQL Server-instantie waarvoor u de gekoppelde server wilt maken.
U moet inloggen met een account dat lid is van de vaste serverrol van SQL Server sysadmin om een gekoppelde server te maken.
- Klik met de rechtermuisknop op Serverobjecten. Kies in het pop-upmenu Nieuw> Gekoppelde server.
- Typ "OJG" in het vak Gekoppelde server.
- Kies in de lijst Provider de optie Microsoft OLE DB Provider voor ODBC-stuurprogramma's.
- Typ in het vak Gegevensbron de naam van uw ODBC-JDBC Gateway ODBC-gegevensbron en kies vervolgens OK.
SQL Server verifieert de gekoppelde server door de verbinding te testen.
- Als u de foutmelding "Opgegeven stuurprogramma kan niet worden geladen vanwege systeemfout 126:De opgegeven module kan niet worden gevonden", kiest u Ja wanneer u wordt gevraagd of u de gekoppelde server wilt behouden. U moet uw SQL Server-instantie opnieuw opstarten voordat u de gekoppelde server kunt gebruiken. Als SQL Server al actief was toen u de ODBC-JDBC Gateway installeerde, heeft deze niet de nieuwste versie van de System PATH-omgevingsvariabele. Het ODBC-JDBC Gateway Setup-programma voegt vermeldingen voor het stuurprogramma toe aan het systeem PATH. Als u de instantie opnieuw start, worden deze wijzigingen beschikbaar voor SQL Server, zodat de ODBC-JDBC-gateway kan worden geladen.
- Als u een fout hebt gemaakt bij het specificeren van de ODBC-JDBC Gateway-gegevensbron, krijgt u de foutmelding "Gegevensbronnaam niet gevonden en geen standaardstuurprogramma opgegeven. Als u deze foutmelding krijgt, kiest u Nee wanneer u wordt gevraagd of u de gekoppelde server wilt behouden en bewerk de waarde in het vak Gegevensbron.
- U kunt uw JDBC-gegevens opvragen met een:
- Vierdelige tabelnaam in een gedistribueerde query.
Een vierdelige tabelnaam heeft de volgende indeling:
servernaam .[databasenaam ].[schema_name ].tabelnaam .
Afhankelijk van uw Java-backend moet u de databasenaam en het schema weglaten. Bijvoorbeeld:
SELECT * van OJG...my_table
- Pass-through-query in een OPENQUERY-functie. Bijvoorbeeld:
SELECT * FROM OPENQUERY(OJG, 'SELECT * FROM my_table')
SQL Server verzendt pass-through-query's als niet-geïnterpreteerde queryreeksen naar de ODBC-JDBC-gateway. Dit betekent dat SQL Server geen enkele logica toepast op de query of probeert in te schatten wat die query zal doen.
- Vierdelige tabelnaam in een gedistribueerde query.