O driver ODBC do SQL Server permite que você conecte o Oracle em plataformas Linux e UNIX ao SQL Server ou SQL Azure. Se você decidir criptografar a conexão de rede de seus aplicativos cliente para o SQL Server ou estiver usando o SQL Azure, precisará usar a versão TLS do driver, que está incluída na distribuição do driver ODBC do SQL Server.
Se você não usar a versão TLS do driver ODBC do SQL Server para se conectar a uma instância do SQL Server que foi configurada para solicitar uma conexão criptografada, você receberá este erro:
Client unable to establish connection: SSL requested but not supported
Se você já estiver usando o driver ODBC do Easysoft SQL Server com Oracle:
- Na fonte de dados do SQL Server apontada por
HS_FDS_CONNECT_INFO
em seuinitSID.ora
, faça as seguintes alterações:- Alterar o
Driver
de:Driver = Easysoft ODBC-SQL Server
para:
Driver = Easysoft ODBC-SQL Server SSL
- Adicione estas linhas:
Encrypt = Yes TrustServerCertificate = Yes
- Alterar o
- Se você apontar para a biblioteca de drivers em vez da biblioteca do Gerenciador de drivers em
initSID.ora
, altere oHS_FDS_SHAREABLE_NAME
valor para:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Reinicie o ouvinte Oracle.
Se você for um novo usuário:
- Instale e licencie o driver ODBC do SQL Server na máquina em que o Oracle está instalado.
Para obter instruções de instalação, consulte a documentação do driver ODBC.
Observação Você precisa do gerenciador de driver unixODBC instalado em sua máquina. A distribuição Easysoft inclui uma versão do unixODBC Driver Manager com a qual o driver ODBC do Easysoft SQL Server foi testado. O programa de instalação do driver Easysoft oferece a opção de instalar o unixODBC.
- Crie uma fonte de dados ODBC em /etc/odbc.ini que se conecte ao banco de dados SQL Server que você deseja acessar do Oracle®. Por exemplo:
[SQLSERVER_SAMPLE] Driver = Easysoft ODBC-SQL Server SSL Server = my_machine\SQLEXPRESS User = my_domain\my_user Password = my_password # If the database you want to connect to is the default # for the SQL Server login, omit this attribute Database = Northwind Encrypt = Yes TrustServerCertificate = Yes
- Use o isql para testar a nova fonte de dados. Por exemplo:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
No prompt, digite "help" para exibir uma lista de tabelas. Para sair, pressione return em uma linha de prompt vazia.
Se você não conseguir se conectar, consulte este artigo para obter assistência.
- Crie um arquivo init DG4ODBC. Para fazer isso, mude para o
hs/admin
subdiretório. Por exemplo:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Crie uma cópia do arquivoinitdg4odbc.ora
. Nomeie o novo arquivoinitmssql.ora
.
- Certifique-se de que esses parâmetros e valores estejam presentes em seu arquivo init:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Substitua my_mssql_odbc_dsn com o nome de uma fonte de dados do driver ODBC do SQL Server que se conecta à instância do SQL Server de destino. Por exemplo
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Comente a linha que permite o rastreamento DG4ODBC. Por exemplo:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Adicione uma entrada a
listener.ora
que cria um SID_NAME para DG4ODBC. Por exemplo:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Adicione uma entrada DG4ODBC a
tnsnames.ora
que especifica o SID_NAME criado na etapa anterior. Por exemplo:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Substitua oracle_host com o nome do host de sua máquina Oracle®.
- Inicie (ou reinicie) o Oracle® Listener. Por exemplo:
lsnrctl stop lsnrctl start
- Conecte-se ao seu banco de dados Oracle® no SQL*Plus.
- No SQL*Plus, crie um link de banco de dados para a instância do SQL Server de destino. Por exemplo:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Observações
- Se você tiver problemas para se conectar ao SQL Server a partir do Oracle®, habilite o rastreamento DG4ODBC e verifique os arquivos de rastreamento gravados no
hs/log
diretório. Para habilitar o rastreamento DG4ODBC, adicione a linhaHS_FDS_TRACE_LEVEL = DEBUG
parainitmssql.ora
e, em seguida, inicie/reinicie o ouvinte Oracle®. Se olog
diretório não existe, crie-o. Por exemplo:mkdir log chmod +w log