Estoy al borde del colapso

08/09/2003 - 19:08 por Guillermo | Informe spam
No se como resolver esto.
Ya había comentado que me mande una macana al cambiar el Collate de las
bases de datos de un sql 2000.
El caso es que ahora, hay varios SELECT que me dan el siguiente error:

Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el operador
equal to.

Yo suponía que al poner todas las bases con el mismo collate se iva a
solucionar, pero ahora me vengo a dar cuenta que al cambiar la base no se
cambian los campos (siempre hablando de los collation)
Cambie los collation de los campos de una de las bases para probar, pero
tengo un select con un JOIN entre una tabla que hice yo y dos del sistema
(sysobjects y syscolumns) que siguen dando el mismo error.

Alguien puede darme una idea.
Ya no se que mas probar y en el laburo me quieren matar.
 

Leer las respuestas

#1 Javier Loria
08/09/2003 - 20:04 | Informe spam
Hola Guillermo:
Dos alternativas.
==Cirujia MAYOR
== a) Respalda la BD Actual
b) Comprueba el Respaldo en otro equipo.
c) Restaura la BD en el equipo actual con otro nombre, (tendras que
poner otros nombres de archivo). Esta es BD es Temporal
d) Borra la BD Actual.
e) Crea la BD con el COLLATE apropiado. (Toma el mismo nombre que
borraste para que no debas cambiar las aplicaciones).
f) Crea un DTS y usa un Copy SQL Objects que tenga como origen la BD con
el nombre temporal y destino la BD nueva. Asegurate de quitar la opcion de
use Collation.
g) Comprueba la aplicacion.
i) Borra la DB Temporal.
j) Comprueba la aplicacion.
==Cirujia MENOR
==Agrega a las consultas fallidas algo como:
SELECT
FROM
WHERE Columna1=Columna2 COLLATE Modern_Spanish_CI_AS

Suerte,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Guillermo escribio:
No se como resolver esto.
Ya había comentado que me mande una macana al cambiar el Collate de
las bases de datos de un sql 2000.
El caso es que ahora, hay varios SELECT que me dan el siguiente error:

Servidor: mensaje 446, nivel 16, estado 9, línea 1
No se puede resolver el conflicto de intercalación para el
operador equal to.

Yo suponía que al poner todas las bases con el mismo collate se iva a
solucionar, pero ahora me vengo a dar cuenta que al cambiar la base
no se cambian los campos (siempre hablando de los collation)
Cambie los collation de los campos de una de las bases para probar,
pero tengo un select con un JOIN entre una tabla que hice yo y dos
del sistema (sysobjects y syscolumns) que siguen dando el mismo error.

Alguien puede darme una idea.
Ya no se que mas probar y en el laburo me quieren matar.

Preguntas similares