Tuvimos dos problemotas en la oficina que tenían que ver con la base de datos, y hoy ambos se solucionaron. Los documento acá para que en caso de que alguien tenga los mismos problemas tenga las soluciones.
Problema 1: Collate de SQL 2000 a SQL 2005
El equivalente del collate "SQL_Latin1_General_CP1_CI_AS" de SQL 2000 (o de SQL 7) en SQL 2005 es el que tiene las opciones "Dictionary order, case-insensitive, for use with 1252 Character set". Intentamos con varios otros collates (o "intercalaciones") y ninguno funcionó.
Problema 2: SQL 2005 se cuelga con el ODBC 3.51 de MySQL.
Éste problema sí nos trajo de cabeza. Resulta que aunque se hacía la liga con el ODBC correctamente, se configuraba bien el Linked Server y aparentemente la prueba de conexión era satisfactoria, cuando se hacía cualquier query desde SQL 2005, aún tan sencillo como
el query seguía andando y andando y jamás terminaba.
Intentamos de todo: seleccionando la opción "Allow inprocess" en las opciones del Linked Server, indicando la conexión en el query, actualizando al Service Pack 2, etcétera.
Al final, el problema resulto ser de configuración: MySQL NO debe estar instalado en el Servidor de Aplicaciones, ahí sólo va el SQL 2005 y el ODBC. MySQL debe estar instalado sólo en el Servidor de Base de Datos. Además, el ODBC de MySQL para hacer conexión con SQL 2005 es el 3.51, con cualquiera de sus revisiones menores. Aparentemente, el 5.1 no funciona para SQL 2005.
No sé qué tanto ayude que SQL 2005 esté actualizado con el SP2 y que al Linked Server se le haya seleccionado la opción "Allow inprocess", pero valdría la pena también realizar esos pasos.
Ojalá que ahora que éste error está documentado AL MENOS en un lugar (no había nada en ningún foro, se los juro), a la siguiente persona que le manden investigar se las vea menos negras.
---
Oyendo: Okami - Giving Kushinada a ride
Problema 1: Collate de SQL 2000 a SQL 2005
El equivalente del collate "SQL_Latin1_General_CP1_CI_AS" de SQL 2000 (o de SQL 7) en SQL 2005 es el que tiene las opciones "Dictionary order, case-insensitive, for use with 1252 Character set". Intentamos con varios otros collates (o "intercalaciones") y ninguno funcionó.
Problema 2: SQL 2005 se cuelga con el ODBC 3.51 de MySQL.
Éste problema sí nos trajo de cabeza. Resulta que aunque se hacía la liga con el ODBC correctamente, se configuraba bien el Linked Server y aparentemente la prueba de conexión era satisfactoria, cuando se hacía cualquier query desde SQL 2005, aún tan sencillo como
select * from openquery(LinkedServer, 'select @@trancount')
el query seguía andando y andando y jamás terminaba.
Intentamos de todo: seleccionando la opción "Allow inprocess" en las opciones del Linked Server, indicando la conexión en el query, actualizando al Service Pack 2, etcétera.
Al final, el problema resulto ser de configuración: MySQL NO debe estar instalado en el Servidor de Aplicaciones, ahí sólo va el SQL 2005 y el ODBC. MySQL debe estar instalado sólo en el Servidor de Base de Datos. Además, el ODBC de MySQL para hacer conexión con SQL 2005 es el 3.51, con cualquiera de sus revisiones menores. Aparentemente, el 5.1 no funciona para SQL 2005.
No sé qué tanto ayude que SQL 2005 esté actualizado con el SP2 y que al Linked Server se le haya seleccionado la opción "Allow inprocess", pero valdría la pena también realizar esos pasos.
Ojalá que ahora que éste error está documentado AL MENOS en un lugar (no había nada en ningún foro, se los juro), a la siguiente persona que le manden investigar se las vea menos negras.
---
Oyendo: Okami - Giving Kushinada a ride
Comentarios