sql >> Database >  >> RDS >> Sqlserver

SQL Server verbinden met een Java-database

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

  1. Download de Windows ODBC-JDBC-gateway.
  2. 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

  1. Kies het tabblad Systeem-DSN en kies vervolgens Toevoegen.
  2. Kies in het dialoogvenster Nieuwe gegevensbron maken de optie ODBC-JDBC-gateway en kies vervolgens Voltooien.
  3. 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.
  4. 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

  1. 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.

  2. Klik met de rechtermuisknop op Serverobjecten. Kies in het pop-upmenu Nieuw> Gekoppelde server.
  3. Typ "OJG" in het vak Gekoppelde server.
  4. Kies in de lijst Provider de optie Microsoft OLE DB Provider voor ODBC-stuurprogramma's.
  5. 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.
  6. 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.


  1. Tien manieren om de functionaliteit van PostgreSQL uit te breiden

  2. RTRIM() Functie in Oracle

  3. Beveiligingsaudits automatiseren voor PostgreSQL

  4. Dump een mysql-database naar een back-up met leesbare tekst (CSV) vanaf de opdrachtregel