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
- Baixe o Gateway ODBC-JDBC do Windows.
- 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
- Escolha a guia DSN do sistema e, em seguida, escolha Adicionar.
- Na caixa de diálogo Criar nova fonte de dados, escolha Gateway ODBC-JDBC e escolha Concluir.
- 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. - Use o botão Testar para verificar se você consegue se conectar ao back-end Java.
Exemplo:recuperar dados JDBC usando um servidor vinculado
- 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.
- Clique com o botão direito do mouse em Objetos de Servidor. No menu pop-up, escolha Novo> Servidor vinculado.
- Na caixa Servidor vinculado, digite "OJG".
- Na lista Provedores, escolha Provedor Microsoft OLE DB para Drivers ODBC.
- 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.
- 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á.
- Nome da tabela de quatro partes em uma consulta distribuída.