Martes, 29 de noviembre de 2016

Clase de sistemas operativos, mis alumnos con cara de angustia me solicitaban ayuda para algo que hasta ayer me parecía trivial – ahora veo que todo depende de lo complejo de las herramientas de administración de la base de datos, por eso ganan lo que ganan los buenos Dba’s – les di oportunidad que dejarán en stand by mi proyecto para que se concentraran en lo referente al que les estaban solicitando.

Uno de los alumnos más destacados y responsables me dijo que todo el fin de semana – largo para ellos debido a la fiesta de la universidad de fin de año –habían tratado por todos los medios de conectar Java (vamos en la versión 8) con SQL Server Express 2014.

Busqué algo sin ningún éxito referente a cuando daba la materia de base de datos con SQL Server, y no encontré nada en ese momento (llevo algunos años con Oracle por su robustez).

Empecé a buscar configurar el motor con las herramientas básicas y se nos fueron las 2 horas en ese asunto sin tener algún éxito destacado.

Entre que me apasionan las TIC’s, mi vocación de profesor y algo que quizás fue sin la intención expresa, decidí ayudarles en casa a resolver este “Trabucle”.

La verdad mi optimismo era mucho. Gracias a mi suscripción que me da mi querido Instituto descargué una versión de Windows 7 a 64 bits, ellos me pasaron el SQL Server Express 2014, no puedo instalar software ajeno a la organización porque puede desconfigurar las herramientas que tengo y por las políticas de la organización, por eso pensé en una máquina virtual con mi caballo de batalla Oracle VirtualBox.

Así mismo a Java lo tenía olvidado y baje el jdk de la página de Oracle, y la última versión de Netbeans (8.2) versión EE.

En la máquina anfitrión instalé Netbeans y en la huésped el SQL Server Express.

Tuve problemas con la instalación pero reinstale lo faltante y quedó listo el motor de SQL Server.

Recordaba vagamente las herramientas de administración para mí el problema era en las IP’s y los puertos, algún checkbox sin marcar, eso pasa con SQL Server.

Mi primer retraso fue la autenticación dual (Windows y de SQL Server) según yo hacía todo bien pero no me dejaba conectar, trabaje sobre el usuario administrador (sa) puse las contraseñas sencillitas para no olvidar. Esto lo hice con la autenticación de Windows y la herramienta Microsoft SQL Server 2014 Management Studio.

Cambiamos la contraseña por una de las de clase Sonrisa. Del árbol de la instancia elegimos Security – Logins y luego en el usuario botón derecho y elegimos Properties.

También indicamos que debemos indicar que se puede loguearse.

Aunque todavía no platico con mi gran amigo el Ingeniero Paco García, creo que ciertos cambios para que surjan efecto debe reiniciarse el servicio y no desde esta herramienta sino del SQL Server 2014 Configuration Manager que veremos más adelante.

Ahora como yo voy a accesar desde otro equipo (el anfitrión) necesito que acepte conexiones remotas así como la autenticación de SQL Server. Vamos a la instancia y al desplegar las opciones del menú (clic botón derecho) elegimos Properties.

Primero en Security decimos que aceptamos ambos tipos de autenticación.

Ahora que aceptamos conexiones remotas.

Ahora si vamos a SQL Server 2014 Configuration Manager.

El servicio se detiene y vuelve a iniciar con el fin que se tomen los cambios, volvemos a Microsoft SQL Server 2014 Management Studio para autenticarnos con el usuario sa.

Y podemos conectarnos a SQL Server por medio del usuario sa. Ya eran como la 1:30 am y creí que lo demás ya sería pan comido. Descargué los jdbc (todos los disponibles) aunque solo instalé el más reciente, pero no tuve éxito.

Me encontré post varios y que solo hablaban de modificar la IP All pero ningún documento resolvía en todo el problema, traté de hacerlo de forma empírica (a prueba y error) hasta que me dieron las 5:00am, pensé que me había ganado. Inclusive tomé el ejemplo que se descarga con el jdbc sin éxito.

Pensé en recurrir a mi amigo DBA, pero estaba ocupado quedo de llamarme más tarde por lo que continué con el reto autoimpuesto. Aquí monté una red como mi celular y por fin encontré un par de posts muy buenos uno que me ayudó a la mitad y el otro que me hizo configurar el firewall, porque el primer éxito tuve que deshabilitar el firewall de Windows.

Pues bien aquí la solución que les interesa a los chicos – ojalá.

Vamos nuevamente a SQL Server 2014 Configuration Manager. El post hablaba de modificar IP 4 de las opciones SQL Server Configuration Manager (Local) – SQL Server Network Configuration – Protocols for SQLEXPRESS y se habilita y elige el protocolo TCP/IP.

Elegimos la pestaña IP Addresses y el post mencionaba poner la IP del servidor de base de datos (en mi caso la que me brindó mi red celular), poner Active en Yes, blanquear los puertos dinámicos TCP y poner el puertoTCP en el default (1433).

Para su caso muchachos aquí yo pondría 127.0.0.1 ya ustedes quieren conectar usando localhost. Sin embargo tampoco funcionó Enfurru?ado. Volviendo al empirismo y recordando el Post de la madrugada me fui a IP All, aquí también blanquee los puertos TCP dinámicos y puse el puerto TCP en el default (1433).

Y de paso quite el FireWall de Windows y por fin…conectó y mostró los datos de una tabla de la base de datos master, como diría mi maestra Lucía Barrón hacerlo funcionar “a lo animal”. Siempre hay que reiniciar el servicio con cada cambio.

Aquí el programa tremendamente hermoso de Java.

Para vernos elegantes activamos el Firewall de la máquina huésped con la excepción de SQL Server 2014.

Sobra decir y mencionar el enorme gusto que proporciona resolver estos “enigmas”. En adelante seré más mesurado al decir que nada tan fácil como conectar una base de datos con un lenguaje, ya que no todo es Windows con su estandarte .NET.

Saludos jóvenes y espero que terminen.

Profesor Miguel Araujo.

Webgrafía.

“Configurar Firewall de Windows para el acceso al motor de base de datos”

Sitio Microsoft MSDN.

https://msdn.microsoft.com/es-es/library/ms175043.aspx

“Habilitar conexiones remotas en SQL Server 2014”

Sitio resuelve tus problemas

Jesús

http://www.resuelvetusproblemas.com/habilitar-conexiones-remotas-en-sql-server-2014/

“Microsoft JDBC Drivers 6.0, 4.2, 4.1 y 4.0 para SQL Server”

Sitio Microsoft Centro de descargas

https://www.microsoft.com/es-mx/download/details.aspx?id=11774

“Obtener o cambiar el puerto que usa SQL SERVER en una instancia”

Sitio Neuronasoft

Segundo Serrano.

http://www.neuronasoft.net/2011/01/determinar-el-puerto-que-usa-sql-server.html

“Java SE Development Kit 8 Downloads”

Sitio de descargas de Oracle

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html?ssSourceSiteId=otnes

“NetBeans IDE 8.2 Download”

Sitio de descargas NetBeans

https://netbeans.org/downloads/

 


Tags: SQL Server Express 2014, Java 8, Netbeans, Jdbc

Publicado por neofito69 @ 19:10  | Base de datos
Comentarios (0)  | Enviar
Comentarios