Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Podłączanie SQL Server do bazy danych Java

SQL Server może łączyć się z bazą danych inną niż SQL Server przy użyciu połączonego serwera. Mechanizm serwera połączonego może wykorzystywać oprogramowanie pośredniczące znane jako sterownik ODBC do łączenia SQL Server z backendami stron trzecich, takimi jak Oracle, MySQL i Salesforce.

Odpowiednikiem sterownika ODBC dla bazy danych Java jest sterownik JDBC. Firma Microsoft nie udostępnia interfejsu serwera połączonego obsługującego JDBC. Zamiast tego należy użyć interfejsu serwera połączonego ODBC (Dostawca Microsoft OLE DB dla sterowników ODBC) ze sterownikiem ODBC, niż można tłumaczyć między ODBC i JDBC. Na przykład brama ODBC-JDBC. Brama ODBC-JDBC łączy aplikację korzystającą z ODBC z bazą danych dostępną przez JDBC. Dla aplikacji brama ODBC-JDBC jest sterownikiem ODBC. Dla sterownika JDBC brama ODBC-JDBC jest aplikacją Java.

Użyj bramy ODBC-JDBC, aby:

  • Użyj połączonego serwera do pracy z danymi JDBC, tak jakbyś pracował z danymi przechowywanymi w tabeli SQL Server.
  • Zintegruj dane JDBC z SQL Server za pomocą SQL Server Integration Services (SSIS).

Instalowanie i licencjonowanie bramy ODBC-JDBC

  1. Pobierz bramę ODBC-JDBC systemu Windows.
  2. Zainstaluj i uzyskaj licencję ODBC-JDBC Gateway na komputerze z systemem Windows, na którym zainstalowano program SQL Server/sterownik JDBC.

    Instrukcje dotyczące instalacji można znaleźć w dokumentacji ODBC-JDBC Gateway.

Konfigurowanie źródła danych ODBC

Zanim będzie można użyć bramy ODBC-JDBC do połączenia aplikacji ODBC z JDBC, należy skonfigurować systemowe źródło danych ODBC. Źródło danych ODBC przechowuje szczegóły połączenia z docelową bazą danych.

Źródła danych ODBC konfiguruje się w Administratorze ODBC, który jest dołączony do systemu Windows. Istnieją dwie wersje Administratora ODBC, jedna 32-bitowa i druga 64-bitowa. Musisz uruchomić wersję 32-bitową, jeśli instancja SQL Server jest 32-bitowa. Musisz uruchomić wersję 64-bitową, jeśli twoja instancja SQL Server jest 64-bitowa.

Aby dowiedzieć się, którą wersję SQL Server posiadasz, połącz się z instancją SQL Server, a następnie uruchom tę instrukcję SQL:

wybierz WŁASNOŚĆ SERWERA('edycja')

Aby uruchomić 32-bitowego administratora ODBC, w oknie dialogowym Uruchom systemu Windows wpisz:

%windir%\syswow64\odbcad32.exe

Aby uruchomić 64-bitowego administratora ODBC, w oknie dialogowym Uruchom systemu Windows wpisz:

odbcad32.exe

Użyj Administratora ODBC, aby utworzyć źródło danych bramy ODBC-JDBC.

Tworzenie źródła danych ODBC bramy ODBC-JDBC

  1. Wybierz kartę Systemowe DSN, a następnie wybierz Dodaj.
  2. W oknie dialogowym Utwórz nowe źródło danych wybierz Brama ODBC-JDBC, a następnie wybierz Zakończ.
  3. Wypełnij okno dialogowe Konfiguracja DSN bramy ODBC-JDBC:
    Ustawienie Opis
    DSN OJG_DSN
    Nazwa użytkownika Nazwa użytkownika dla twojego backendu Java, jeśli jest wymagana.
    Hasło Hasło dla nazwy użytkownika.
    Klasa sterownika Odnieś się do dokumentacji sterownika JDBC, aby znaleźć wartość, którą musisz tutaj wprowadzić.
    Ścieżka klasy Użyj przycisku Dodaj, aby przejść do pliku JAR/ZIP sterownika JDBC.
    URL Adres URL JDBC używany przez sterownik JDBC do łączenia się z zapleczem Java. Zapoznaj się z dokumentacją sterownika JDBC, aby uzyskać informacje o składni, której musisz użyć.
  4. Użyj przycisku Testuj, aby sprawdzić, czy możesz pomyślnie połączyć się z backendem Java.

Przykład:pobieranie danych JDBC za pomocą połączonego serwera

  1. W Microsoft SQL Server Management Studio połącz się z instancją SQL Server, dla której chcesz utworzyć połączony serwer.

    Aby utworzyć połączony serwer, musisz zalogować się na konto, które jest członkiem stałej roli serwera SQL Server sysadmin.

  2. Kliknij prawym przyciskiem myszy Obiekty serwera. Z wyskakującego menu wybierz Nowy> Serwer połączony.
  3. W polu Serwer połączony wpisz „OJG”.
  4. Z listy Dostawca wybierz Dostawca Microsoft OLE DB dla sterowników ODBC.
  5. W polu Źródło danych wpisz nazwę źródła danych ODBC bramy ODBC-JDBC, a następnie wybierz przycisk OK.

    SQL Server weryfikuje połączony serwer, testując połączenie.

    • Jeśli pojawi się błąd „Określony sterownik nie mógł zostać załadowany z powodu błędu systemowego 126:Nie można znaleźć określonego modułu”, wybierz Tak, gdy pojawi się pytanie, czy zachować połączony serwer. Musisz ponownie uruchomić instancję programu SQL Server, zanim będzie można korzystać z połączonego serwera. Jeśli program SQL Server był już uruchomiony podczas instalowania bramy ODBC-JDBC, nie będzie miał najnowszej wersji zmiennej środowiskowej PATH systemu. Program instalacyjny bramy ODBC-JDBC dodaje wpisy dla sterownika do ścieżki systemowej. Ponowne uruchomienie instancji udostępnia te zmiany SQL Server, umożliwiając załadowanie bramy ODBC-JDBC.
    • Jeśli popełnisz błąd podczas określania źródła danych ODBC-JDBC Gateway, pojawi się błąd „Nie znaleziono nazwy źródła danych i nie określono sterownika domyślnego. Jeśli pojawi się ten błąd, wybierz opcję Nie po wyświetleniu monitu o zachowanie połączonego serwera i edytuj wartość w polu Źródło danych.
  6. Możesz przeszukiwać dane JDBC za pomocą:
    • Czteroczęściowa nazwa tabeli w zapytaniu rozproszonym.

      Czteroczęściowa nazwa tabeli ma format:

      nazwa_serwera .[nazwa_bazy_danych ].[nazwa_schematu ].nazwa_tabeli .

      W zależności od backendu Java musisz pominąć nazwę i schemat bazy danych. Na przykład:

      WYBIERZ * z OJG...moja_tabela
    • Zapytanie przekazujące w funkcji OPENQUERY. Na przykład:
      SELECT * FROM OPENQUERY(OJG, 'SELECT * FROM my_table')

      SQL Server wysyła zapytania przekazujące jako niezinterpretowane ciągi zapytań do bramy ODBC-JDBC. Oznacza to, że SQL Server nie stosuje żadnej logiki do zapytania ani nie próbuje oszacować, co to zapytanie zrobi.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Atomic UPSERT w SQL Server 2005

  2. DATEDIFF() zwraca nieprawidłowe wyniki w programie SQL Server? Przeczytaj to.

  3. Konwertuj „czas” na „przesunięcie daty” w SQL Server (przykłady T-SQL)

  4. SYSDATETIMEOFFSET() Przykłady w SQL Server (T-SQL)

  5. Jak połączyć datę z jednego pola z czasem z innego pola - MS SQL Server