Cómo conectar desde Oracle SQL Developer con un SQL Server remoto

He probado a crear una conexión en SQL Developer con una base de datos SQL Server remota. Los primeros pasos para configurar Oracle SQL Developer ya están descritos en el artículo de introducción a SQL Developer, y ya había hecho alguna prueba con un SQL Server instalado en la misma máquina que SQL Developer, pero al probar a hacerlo con una BD SQLServer remota he encontrado alguna dificultad más que creo que merece la pena comentar.

Lo primero que hay que tener en cuenta es que el puerto por el que vamos a conectar con la base de datos esté abierto en el servidor remoto para la máquina donde tengamos nuestro SQL Developer. Para comprobar si tenemos acceso desde nuestra máquina se puede utilizar un simple telnet indicando la ip o el dominio del servidor remoto, y el puerto que vamos a utilizar, para SQL Server normalmente el 1433:

$ telnet 192.168.0.107 1433

Si no obtenemos un mensaje de error tenemos el camino libre; si el resultado es algo así como 'Unable to connect to remote host' algo no nos deja llegar al servidor. Pueden ser muchas cosas, pero normalmente es simplemente que el puerto está protegido por el firewall del server. Para abrir el puerto en el servidor, sólo hay que seguir los pasos que se indican en el tema de ayuda Cómo configurar Firewall de Windows para el acceso al motor de base de datos de MSDN Library. Extraigo la parte más relevante:

- Para Windows XP y Windows Server 2003:

    Para abrir un puerto en el Firewall de Windows para el acceso TCP:

  1. En el menú Inicio, haga clic en Ejecutar, escriba firewall.cpl y, a continuación, haga clic en Aceptar.

  2. En el cuadro de diálogo Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar puerto.

  3. En el cuadro de diálogo Agregar un puerto, en el cuadro Nombre, escriba SQL Server<nombreDeInstancia>.

  4. En el cuadro Número de puerto, escriba el número de puerto de la instancia de Motor de base de datos, por ejemplo, 1433, para la instancia predeterminada.

  5. Compruebe que TCP esté seleccionado y haga clic en Aceptar.

  6. Para abrir el puerto y exponer el servicio SQL Server Browser, haga clic en Agregar puerto, escriba SQL Server Browser en el cuadro de texto Nombre, escriba 1434 en el cuadro de texto Número de puerto, seleccione UDP y, a continuación, haga clic en Aceptar.

- Para Windows Vista, Windows Server 2008 y versiones posteriores son los mismos pasos, pero en lugar de ejecutar el programa firewall.cpl se ejecuta WF.msc

Firewall de Windows

 

Una vez que el camino está libre ya sólo es cuestión de configurar la conexión seleccionando la pestaña de SQL Server, pero aquí es donde he encontrado más dificultades. Utilizando la autenticación de la base de datos no he tenido problema, se informan los datos de un usuario que tenga acceso a la base de datos que interesa, y la conexión funciona.

Conexion de Oracle SQL Developer a SQL Server

El problema lo encuentro cuando marco la casilla 'Usar Autenticación de Windows', he probado de muchas maneras y no lo he conseguido, sólo puedo conectar con un usuario de base de datos, así que voy a dejar el tema abierto, aquí y en el foro por si alguien sabe exactamente cómo hay que informar los parámetros para poder conectar desde Oracle SQL Developer (v1.5) con una base de datos SQL Server remota utilizando la Autenticación de Windows.