resolve collation conflict

19/01/2009 - 13:12 por Alhambra Eidos Desarrollo | Informe spam
Buenas.

Al ir a probar una aplicación ya existente, me he encontrado con el
siguiente mensaje devuelto por SQL Server: “Cannot resolve collation conflict
for equal to operation.”

El problema está en que hay una consulta mastodóntica por código que accede
a distintas bases de datos e incluso distintos servidores de SQL Server. Y
hay una base de datos donde la intercalación (collation) es distinta que el
resto. He intentado crear una nueva base de datos indicando la intercalación
correcta y restaurar de una copia de seguridad, pero al restaurar me vuelve a
poner el que tenía.

¿Hay alguna manera de cambiar el collation de una base de datos?

Me comentaron que una vez restaurada la base de datos, puedes cambiar el
collation en el campo o campos que están dando el problema a través del
diseño de la tabla.

El problema es que hay muchas tablas con muchos campos, y querría algo que
lo hiciera de toda la base de datos. He probado también con
“ALTER DATABASE miBBDD COLLATE miIntercalacion”.

Pero me dice que no se puede hacer, que antes debería ir campo por campo
cambiando como me indicaban.

Así que creo que no me va a quedar otra a no ser que me aporten otra
solución que desconozco, ojalá así sea.

Gracias y un saludo.


http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.com/churrosoft
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft
 

Leer las respuestas

#1 Carlos Sacristan
19/01/2009 - 14:08 | Informe spam
Puedes indicar la intercalación de la columna, sin tener que cambiar la de
la base de datos:

... FROM t1 INNER JOIN t2 ON t1.c1 COLLATE <nombre_intercalacion> = t2.c1
COLLATE <nombre_intercalacion>


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Alhambra Eidos Desarrollo" wrote:

Buenas.

Al ir a probar una aplicación ya existente, me he encontrado con el
siguiente mensaje devuelto por SQL Server: “Cannot resolve collation conflict
for equal to operation.”

El problema está en que hay una consulta mastodóntica por código que accede
a distintas bases de datos e incluso distintos servidores de SQL Server. Y
hay una base de datos donde la intercalación (collation) es distinta que el
resto. He intentado crear una nueva base de datos indicando la intercalación
correcta y restaurar de una copia de seguridad, pero al restaurar me vuelve a
poner el que tenía.

¿Hay alguna manera de cambiar el collation de una base de datos?

Me comentaron que una vez restaurada la base de datos, puedes cambiar el
collation en el campo o campos que están dando el problema a través del
diseño de la tabla.

El problema es que hay muchas tablas con muchos campos, y querría algo que
lo hiciera de toda la base de datos. He probado también con
“ALTER DATABASE miBBDD COLLATE miIntercalacion”.

Pero me dice que no se puede hacer, que antes debería ir campo por campo
cambiando como me indicaban.

Así que creo que no me va a quedar otra a no ser que me aporten otra
solución que desconozco, ojalá así sea.

Gracias y un saludo.


http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.com/churrosoft
http://www.setbb.com/putainformatic...opic.php?p„3
www.trabajobasura.com/solusoft

Preguntas similares