Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Connessione di SQL Server a un database Java

SQL Server può connettersi a un database non SQL Server utilizzando un server collegato. Il meccanismo del server collegato può utilizzare un middleware noto come driver ODBC per connettere SQL Server a backend di terze parti come Oracle, MySQL e Salesforce.

L'equivalente di un driver ODBC per un database Java è un driver JDBC. Microsoft non fornisce un'interfaccia server collegata che supporta JDBC. Piuttosto, è necessario utilizzare l'interfaccia del server collegato ODBC (provider Microsoft OLE DB per i driver ODBC) con un driver ODBC che può convertire tra ODBC e JDBC. Ad esempio, il gateway ODBC-JDBC. Il gateway ODBC-JDBC connette un'applicazione che utilizza ODBC a un database accessibile tramite JDBC. Per l'applicazione, il gateway ODBC-JDBC è un driver ODBC. Per il driver JDBC, il gateway ODBC-JDBC è un'applicazione Java.

Utilizza il gateway ODBC-JDBC per:

  • Utilizza un server collegato per lavorare con i dati JDBC, proprio come se stessi lavorando con i dati archiviati in una tabella di SQL Server.
  • Integra i dati JDBC con SQL Server utilizzando SQL Server Integration Services (SSIS).

Installazione e licenza del gateway ODBC-JDBC

  1. Scarica il gateway ODBC-JDBC di Windows.
  2. Installare e concedere in licenza il gateway ODBC-JDBC sulla macchina Windows in cui sono installati SQL Server/il driver JDBC.

    Per le istruzioni di installazione, vedere la documentazione del gateway ODBC-JDBC.

Configurazione di un'origine dati ODBC

Prima di poter utilizzare il gateway ODBC-JDBC per connettere l'applicazione ODBC a JDBC, è necessario configurare un'origine dati ODBC di sistema. Un'origine dati ODBC memorizza i dettagli di connessione per il database di destinazione.

Configurare le origini dati ODBC in Amministratore ODBC, incluso in Windows. Esistono due versioni di ODBC Administrator, una a 32 bit e una a 64 bit. È necessario eseguire la versione a 32 bit se l'istanza di SQL Server è a 32 bit. È necessario eseguire la versione a 64 bit se l'istanza di SQL Server è a 64 bit.

Per scoprire quale versione di SQL Server hai, connettiti alla tua istanza di SQL Server, quindi esegui questa istruzione SQL:

seleziona PROPRIETÀ SERVER('edizione')

Per eseguire l'amministratore ODBC a 32 bit, nella finestra di dialogo Esegui Windows, digitare:

%windir%\syswow64\odbcad32.exe

Per eseguire l'amministratore ODBC a 64 bit, nella finestra di dialogo Esegui Windows, digitare:

odbcad32.exe

Usa Amministratore ODBC per creare la tua origine dati del gateway ODBC-JDBC.

Creazione di un'origine dati ODBC gateway ODBC-JDBC

  1. Scegli la scheda DSN di sistema, quindi scegli Aggiungi.
  2. Nella finestra di dialogo Crea nuova origine dati, scegli ODBC-JDBC Gateway, quindi scegli Fine.
  3. Completa la finestra di dialogo Configurazione DSN del gateway ODBC-JDBC:
    Impostazioni Descrizione
    DSN OJG_DSN
    Nome utente Il nome utente per il tuo back-end Java, se richiesto.
    Password La password per il nome utente.
    Classe di guida Fai riferimento alla documentazione del tuo driver JDBC per il valore che devi inserire qui.
    Percorso di classe Utilizzare il pulsante Aggiungi per cercare il file JAR/ZIP del driver JDBC.
    URL L'URL JDBC utilizzato dal driver JDBC per connettersi al back-end Java. Fare riferimento alla documentazione del driver JDBC per la sintassi che è necessario utilizzare.
  4. Utilizza il pulsante Test per verificare di poterti connettere correttamente al backend Java.

Esempio:recuperare i dati JDBC utilizzando un server collegato

  1. In Microsoft SQL Server Management Studio, connettiti all'istanza di SQL Server su cui desideri creare il server collegato.

    È necessario accedere con un account membro del ruolo predefinito del server di amministratore di sistema di SQL Server per creare un server collegato.

  2. Fai clic con il pulsante destro del mouse su Oggetti server. Dal menu a comparsa scegli Nuovo> Server collegato.
  3. Nella casella Server collegato, digita "OJG".
  4. Dall'elenco Provider, scegliere Provider Microsoft OLE DB per driver ODBC.
  5. Nella casella Origine dati, digitare il nome dell'origine dati ODBC del gateway ODBC-JDBC, quindi scegliere OK.

    SQL Server verifica il server collegato testando la connessione.

    • Se viene visualizzato l'errore "Impossibile caricare il driver specificato a causa dell'errore di sistema 126:Impossibile trovare il modulo specificato", scegliere Sì quando viene richiesto se mantenere il server collegato. È necessario riavviare l'istanza di SQL Server prima di poter utilizzare il server collegato. Se SQL Server era già in esecuzione quando è stato installato il gateway ODBC-JDBC, non avrà la versione più recente della variabile di ambiente PATH di sistema. Il programma di installazione del gateway ODBC-JDBC aggiunge voci per il driver al PATH del sistema. Il riavvio dell'istanza rende disponibili queste modifiche a SQL Server, consentendogli di caricare il gateway ODBC-JDBC.
    • Se si è commesso un errore durante la specifica dell'origine dati del gateway ODBC-JDBC, viene visualizzato l'errore "Nome origine dati non trovato e nessun driver predefinito specificato. Se viene visualizzato questo errore, scegliere No quando viene richiesto se mantenere il server collegato e modifica il valore nella casella Origine dati.
  6. Puoi interrogare i tuoi dati JDBC usando a:
    • Nome tabella in quattro parti in una query distribuita.

      Il nome di una tabella in quattro parti ha il formato:

      nome_server .[nome_database ].[nome_schema ].nome_tabella .

      A seconda del tuo back-end Java, devi omettere il nome del database e lo schema. Ad esempio:

      SELECT * da OJG...my_table
    • Query pass-through in una funzione OPENQUERY. Ad esempio:
      SELECT * FROM OPENQUERY(OJG, 'SELECT * FROM my_table')

      SQL Server invia query pass-through come stringhe di query non interpretate al gateway ODBC-JDBC. Ciò significa che SQL Server non applica alcun tipo di logica alla query né tenta di stimare l'effetto della query.