Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Conectando o SQL Server a um banco de dados Java


O SQL Server pode se conectar a um banco de dados não SQL Server usando um servidor vinculado. O mecanismo de servidor vinculado pode usar um middleware conhecido como driver ODBC para conectar o SQL Server a back-ends de terceiros, como Oracle, MySQL e Salesforce.

O equivalente de um driver ODBC para um banco de dados Java é um driver JDBC. A Microsoft não fornece uma interface de servidor vinculada que suporte JDBC. Em vez disso, você precisa usar a interface do servidor vinculado ODBC (Microsoft OLE DB Provider for ODBC Drivers) com um driver ODBC que pode traduzir entre ODBC e JDBC. Por exemplo, o Gateway ODBC-JDBC. O Gateway ODBC-JDBC conecta um aplicativo que usa ODBC a um banco de dados acessível via JDBC. Para a aplicação, o Gateway ODBC-JDBC é um driver ODBC. Para o driver JDBC, o Gateway ODBC-JDBC é um aplicativo Java.

Use o Gateway ODBC-JDBC para:
  • Use um servidor vinculado para trabalhar com dados JDBC, como se estivesse trabalhando com dados armazenados em uma tabela do SQL Server.
  • Integre dados JDBC ao SQL Server usando o SQL Server Integration Services (SSIS).

Instalação e licenciamento do gateway ODBC-JDBC

  1. Baixe o Gateway ODBC-JDBC do Windows.
  2. Instale e licencie o Gateway ODBC-JDBC na máquina Windows em que o SQL Server / o driver JDBC estão instalados.
    Para obter instruções de instalação, consulte a documentação do Gateway ODBC-JDBC.

Configurando uma fonte de dados ODBC


Antes de poder usar o Gateway ODBC-JDBC para conectar seu aplicativo ODBC ao JDBC, você precisa configurar uma fonte de dados ODBC do sistema. Uma fonte de dados ODBC armazena os detalhes da conexão para o banco de dados de destino.

Você configura fontes de dados ODBC no ODBC Administrator, que está incluído no Windows. Existem duas versões do ODBC Administrator, uma de 32 bits e outra de 64 bits. Você precisa executar a versão de 32 bits se sua instância do SQL Server for de 32 bits. Você precisa executar a versão de 64 bits se sua instância do SQL Server for de 64 bits.

Para descobrir qual versão do SQL Server você possui, conecte-se à sua instância do SQL Server e execute esta instrução SQL:
selecione SERVERPROPERTY('edição')

Para executar o Administrador ODBC de 32 bits, na caixa de diálogo Executar do Windows, digite:
%windir%\syswow64\odbcad32.exe

Para executar o Administrador ODBC de 64 bits, na caixa de diálogo Executar do Windows, digite:
odbcad32.exe

Use o Administrador ODBC para criar sua fonte de dados do Gateway ODBC-JDBC.

Criando uma fonte de dados ODBC do Gateway ODBC-JDBC

  1. Escolha a guia DSN do sistema e, em seguida, escolha Adicionar.
  2. Na caixa de diálogo Criar nova fonte de dados, escolha Gateway ODBC-JDBC e escolha Concluir.
  3. Preencha a caixa de diálogo Configuração do DSN do Gateway ODBC-JDBC:
    Configuração Descrição
    DSN OJG_DSN
    Nome de usuário O nome de usuário para seu back-end Java, se necessário.
    Senha A senha para o nome de usuário.
    Classe de motorista Consulte a documentação do driver JDBC para o valor que você precisa inserir aqui.
    Caminho da classe Use o botão Adicionar para navegar até o arquivo JAR/ZIP do driver JDBC.
    URL A URL JDBC usada pelo driver JDBC para se conectar ao backend Java. Consulte a documentação do driver JDBC para obter a sintaxe que você precisa usar.
  4. Use o botão Testar para verificar se você consegue se conectar ao back-end Java.

Exemplo:recuperar dados JDBC usando um servidor vinculado

  1. No Microsoft SQL Server Management Studio, conecte-se à instância do SQL Server na qual deseja criar o servidor vinculado.
    Você precisa fazer logon com uma conta que seja membro da função de servidor fixa sysadmin do SQL Server para criar um servidor vinculado.
  2. Clique com o botão direito do mouse em Objetos de Servidor. No menu pop-up, escolha Novo> Servidor vinculado.
  3. Na caixa Servidor vinculado, digite "OJG".
  4. Na lista Provedores, escolha Provedor Microsoft OLE DB para Drivers ODBC.
  5. Na caixa Fonte de dados, digite o nome da fonte de dados ODBC do Gateway ODBC-JDBC e escolha OK.
    O SQL Server verifica o servidor vinculado testando a conexão.
    • Se você receber o erro "O driver especificado não pôde ser carregado devido ao erro de sistema 126:O módulo especificado não pôde ser encontrado", escolha Sim quando solicitado se deseja manter o servidor vinculado. Você precisa reiniciar sua instância do SQL Server antes de poder usar o servidor vinculado. Se o SQL Server já estava em execução quando você instalou o Gateway ODBC-JDBC, ele não terá a versão mais recente da variável de ambiente System PATH. O programa ODBC-JDBC Gateway Setup adiciona entradas para o driver ao System PATH. Reiniciar a instância disponibiliza essas alterações para o SQL Server, permitindo que ele carregue o Gateway ODBC-JDBC.
    • Se você cometer um erro ao especificar a fonte de dados do Gateway ODBC-JDBC, receberá o erro "Nome da fonte de dados não encontrado e nenhum driver padrão especificado. Se você receber esse erro, escolha Não quando solicitado se deseja manter o servidor vinculado e edite o valor na caixa Fonte de dados.
  6. Você pode consultar seus dados JDBC usando um:
    • Nome da tabela de quatro partes em uma consulta distribuída.
      Um nome de tabela de quatro partes tem o formato:

      server_name .[database_name ].[nome_do_esquema ].table_name .

      Dependendo do seu backend Java, você precisa omitir o nome e o esquema do banco de dados. Por exemplo:
      SELECT * from OJG...my_table
    • Consulta de passagem em uma função OPENQUERY. Por exemplo:
      SELECT * FROM OPENQUERY(OJG, 'SELECT * FROM my_table')

      O SQL Server envia consultas de passagem como strings de consulta não interpretadas para o Gateway ODBC-JDBC. Isso significa que o SQL Server não aplica nenhum tipo de lógica à consulta nem tenta estimar o que essa consulta fará.