El controlador ODBC de SQL Server le permite conectar Oracle en plataformas Linux y UNIX a SQL Server o SQL Azure. Si decide cifrar la conexión de red de sus aplicaciones cliente a SQL Server, o si está usando SQL Azure, debe usar la versión TLS del controlador, que se incluye en la distribución del controlador ODBC de SQL Server.
Si no utiliza la versión TLS del controlador ODBC de SQL Server para conectarse a una instancia de SQL Server que se ha configurado para solicitar una conexión cifrada, obtendrá este error:
Client unable to establish connection: SSL requested but not supported
Si ya está utilizando el controlador ODBC de Easysoft SQL Server con Oracle:
- En la fuente de datos de SQL Server a la que apunta
HS_FDS_CONNECT_INFO
en suinitSID.ora
, realice las siguientes modificaciones:- Alterar el
Driver
de:Driver = Easysoft ODBC-SQL Server
a:
Driver = Easysoft ODBC-SQL Server SSL
- Agregue estas líneas:
Encrypt = Yes TrustServerCertificate = Yes
- Alterar el
- Si apunta a la biblioteca de controladores en lugar de a la biblioteca del Administrador de controladores en
initSID.ora
, modifica elHS_FDS_SHAREABLE_NAME
valor para:install_dir/easysoft/sqlserver/lib/libessqlsrv_ssl.so
- Reinicie la escucha de Oracle.
Si es un usuario nuevo:
- Instale y obtenga la licencia del controlador ODBC de SQL Server en la máquina donde está instalado Oracle.
Para obtener instrucciones de instalación, consulte la documentación del controlador ODBC.
Nota Necesita el administrador de controladores unixODBC instalado en su máquina. La distribución de Easysoft incluye una versión de unixODBC Driver Manager con la que se ha probado el controlador ODBC de Easysoft SQL Server. El programa de instalación del controlador Easysoft le ofrece la opción de instalar unixODBC.
- Cree una fuente de datos ODBC en /etc/odbc.ini que se conecte a la base de datos de SQL Server a la que desea acceder desde Oracle®. Por ejemplo:
[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
- Utilice isql para probar la nueva fuente de datos. Por ejemplo:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v SQLSERVER_SAMPLE
Cuando se le solicite, escriba "ayuda" para mostrar una lista de tablas. Para salir, presione regresar en una línea de aviso vacía.
Si no puede conectarse, consulte este artículo para obtener ayuda.
- Cree un archivo de inicio DG4ODBC. Para hacer esto, cambie a
hs/admin
subdirectorio. Por ejemplo:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Crea una copia del archivo
initdg4odbc.ora
. Nombre el nuevo archivoinitmssql.ora
. - Asegúrese de que estos parámetros y valores estén presentes en su archivo de inicio:
HS_FDS_CONNECT_INFO = var>my_mssql_odbc_dsn
Reemplace my_mssql_odbc_dsn con el nombre de un origen de datos del controlador ODBC de SQL Server que se conecta a la instancia de destino de SQL Server. Por ejemplo
HS_FDS_CONNECT_INFO = "SQLSERVER_SAMPLE"
- Comente la línea que habilita el seguimiento de DG4ODBC. Por ejemplo:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Añadir una entrada a
listener.ora
que crea un SID_NAME para DG4ODBC. Por ejemplo:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mssql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Agregue una entrada DG4ODBC a
tnsnames.ora
que especifica el SID_NAME creado en el paso anterior. Por ejemplo:MSSQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = mssql) ) (HS = OK) )
Reemplazar oracle_host con el nombre de host de su máquina Oracle®.
- Inicie (o reinicie) Oracle® Listener. Por ejemplo:
lsnrctl stop lsnrctl start
- Conéctese a su base de datos Oracle® en SQL*Plus.
- En SQL*Plus, cree un enlace de base de datos para la instancia de destino de SQL Server. Por ejemplo:
CREATE PUBLIC DATABASE LINK mssqllink CONNECT TO "my_sqlserver_user" IDENTIFIED by "my_password" USING 'mssql'; SELECT * from suppliers@mssqllink
Notas
- Si tiene problemas para conectarse a SQL Server desde Oracle®, habilite el rastreo DG4ODBC y verifique los archivos de rastreo escritos en
hs/log
directorio. Para habilitar el rastreo DG4ODBC, agregue la líneaHS_FDS_TRACE_LEVEL = DEBUG
ainitmssql.ora
y luego inicie/reinicie Oracle® listener. Si ellog
El directorio no existe, créalo. Por ejemplo:mkdir log chmod +w log