Problemas con el intercalador SQL_latin1_general_CP850_CI_AI

20/07/2004 - 09:15 por Keyhelp | Informe spam
Hola a todos...
Esto es para expertos de alto nivel..

Tenemos una base de datos SQL Server 2000 creada con el intercalador
SQL_latin1_general_CP850_CI_AI, el problema es que hemos creado nuestra base
de datos y luego hemos realizado cambios en algunas tablas, esos cambios
consistian en añadir algunos campos nuevos, por lo que nos guardábamos los
datos y eliminábamos la tabla, la volviamos a crear y colocábamos de nuevo
los datos.
Nuestra tabla tenía un trigger que realizada una serie de operaciones, pues
no le gustaba que usaramos ese trigger pues daba el error SQL 446, mirando
en la ayuda nos decía que era un problema con el fichero intercalador, así
que creamos de nuevo la tabal añadiendo la clásula SQL_latin1... a cada
uno de los campos del tipo varchar, es la primera vez que hemos tenido que
hacer algo parecido, pero ha funcionado, es decir, el trigger hace lo que
tiene que hacer.

Pues ahora resulta que al servidor de datos, ahora no le gusta la tabla
cada vez que hacemos algún cruce con ella nos dá el mensaje de error SQL
446 (no puede resolver el método de intercalación para el símbolo equal to
'=')

Principalmente lo hace con las tablas que se habían creado antes y las
modificadas a las que hemos tenido que añadir lo del
SQL_Latin1_General...

¿Algien sabe lo que ha pasado?, ¿Por qué antes no necesitábamos poner lo de
SQL_Latin1 que se supone que lo ha de coger de la definición de la base de
datos y ahora si? ¿Por qué no se "entienden" ahora entre las tablas?

Gracias a todos, y espero vuestras respuestas.
Francisco López
Dpt. Desarrollo
Keyhelp, S.L.
http://www.keyhelp.net

Preguntas similare

Leer las respuestas

#1 Keyhelp
20/07/2004 - 10:38 | Informe spam
Creo que tenemos acotado el problema.
Está en que hemos definido la base de datos de forma AI y CI pero algunas
tablas están como AS y CI,
¿Existe alguna forma mediante un alter o algo parecido que sirva para
cambiar de forma masiva la definición de estas tablas que están mal creadas?

Gracias.

"Keyhelp" escribió en el mensaje
news:%
Hola a todos...
Esto es para expertos de alto nivel..

Tenemos una base de datos SQL Server 2000 creada con el intercalador
SQL_latin1_general_CP850_CI_AI, el problema es que hemos creado nuestra


base
de datos y luego hemos realizado cambios en algunas tablas, esos cambios
consistian en añadir algunos campos nuevos, por lo que nos guardábamos los
datos y eliminábamos la tabla, la volviamos a crear y colocábamos de nuevo
los datos.
Nuestra tabla tenía un trigger que realizada una serie de operaciones,


pues
no le gustaba que usaramos ese trigger pues daba el error SQL 446, mirando
en la ayuda nos decía que era un problema con el fichero intercalador, así
que creamos de nuevo la tabal añadiendo la clásula SQL_latin1... a


cada
uno de los campos del tipo varchar, es la primera vez que hemos tenido que
hacer algo parecido, pero ha funcionado, es decir, el trigger hace lo que
tiene que hacer.

Pues ahora resulta que al servidor de datos, ahora no le gusta la


tabla
cada vez que hacemos algún cruce con ella nos dá el mensaje de error SQL
446 (no puede resolver el método de intercalación para el símbolo equal to
'=')

Principalmente lo hace con las tablas que se habían creado antes y las
modificadas a las que hemos tenido que añadir lo del
SQL_Latin1_General...

¿Algien sabe lo que ha pasado?, ¿Por qué antes no necesitábamos poner lo


de
SQL_Latin1 que se supone que lo ha de coger de la definición de la base de
datos y ahora si? ¿Por qué no se "entienden" ahora entre las tablas?

Gracias a todos, y espero vuestras respuestas.
Francisco López
Dpt. Desarrollo
Keyhelp, S.L.
http://www.keyhelp.net


Respuesta Responder a este mensaje
#2 Carlos Sacristan
20/07/2004 - 12:14 | Informe spam
Puedes alterar la intercalación de una columna de una tabla, pero
necesitas generar esa sentencia, no existe una forma de alterar todas las
columnas creadas ya de manera "masiva", como tú dices :(


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Keyhelp" escribió en el mensaje
news:epi2$
Creo que tenemos acotado el problema.
Está en que hemos definido la base de datos de forma AI y CI pero algunas
tablas están como AS y CI,
¿Existe alguna forma mediante un alter o algo parecido que sirva para
cambiar de forma masiva la definición de estas tablas que están mal


creadas?

Gracias.

"Keyhelp" escribió en el mensaje
news:%
> Hola a todos...
> Esto es para expertos de alto nivel..
>
> Tenemos una base de datos SQL Server 2000 creada con el intercalador
> SQL_latin1_general_CP850_CI_AI, el problema es que hemos creado nuestra
base
> de datos y luego hemos realizado cambios en algunas tablas, esos cambios
> consistian en añadir algunos campos nuevos, por lo que nos guardábamos


los
> datos y eliminábamos la tabla, la volviamos a crear y colocábamos de


nuevo
> los datos.
> Nuestra tabla tenía un trigger que realizada una serie de operaciones,
pues
> no le gustaba que usaramos ese trigger pues daba el error SQL 446,


mirando
> en la ayuda nos decía que era un problema con el fichero intercalador,


así
> que creamos de nuevo la tabal añadiendo la clásula SQL_latin1... a
cada
> uno de los campos del tipo varchar, es la primera vez que hemos tenido


que
> hacer algo parecido, pero ha funcionado, es decir, el trigger hace lo


que
> tiene que hacer.
>
> Pues ahora resulta que al servidor de datos, ahora no le gusta la
tabla
> cada vez que hacemos algún cruce con ella nos dá el mensaje de error


SQL
> 446 (no puede resolver el método de intercalación para el símbolo equal


to
> '=')
>
> Principalmente lo hace con las tablas que se habían creado antes y las
> modificadas a las que hemos tenido que añadir lo del
> SQL_Latin1_General...
>
> ¿Algien sabe lo que ha pasado?, ¿Por qué antes no necesitábamos poner lo
de
> SQL_Latin1 que se supone que lo ha de coger de la definición de la base


de
> datos y ahora si? ¿Por qué no se "entienden" ahora entre las tablas?
>
> Gracias a todos, y espero vuestras respuestas.
> Francisco López
> Dpt. Desarrollo
> Keyhelp, S.L.
> http://www.keyhelp.net
>
>


Respuesta Responder a este mensaje
#3 Keyhelp
21/07/2004 - 07:46 | Informe spam
Gracias por tu respuesta, vamos a tener que tomar medidas drásticas y
exportar todos los datos y volver a crear la base de datos, deséame suerte
porque son mas de 200 tablas.
Gracias nuevamente

"Carlos Sacristan" <csacristan ARROBA mvps.org> escribió en el mensaje
news:%
Puedes alterar la intercalación de una columna de una tabla, pero
necesitas generar esa sentencia, no existe una forma de alterar todas las
columnas creadas ya de manera "masiva", como tú dices :(


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Keyhelp" escribió en el mensaje
news:epi2$
> Creo que tenemos acotado el problema.
> Está en que hemos definido la base de datos de forma AI y CI pero


algunas
> tablas están como AS y CI,
> ¿Existe alguna forma mediante un alter o algo parecido que sirva para
> cambiar de forma masiva la definición de estas tablas que están mal
creadas?
>
> Gracias.
>
> "Keyhelp" escribió en el mensaje
> news:%
> > Hola a todos...
> > Esto es para expertos de alto nivel..
> >
> > Tenemos una base de datos SQL Server 2000 creada con el intercalador
> > SQL_latin1_general_CP850_CI_AI, el problema es que hemos creado


nuestra
> base
> > de datos y luego hemos realizado cambios en algunas tablas, esos


cambios
> > consistian en añadir algunos campos nuevos, por lo que nos guardábamos
los
> > datos y eliminábamos la tabla, la volviamos a crear y colocábamos de
nuevo
> > los datos.
> > Nuestra tabla tenía un trigger que realizada una serie de operaciones,
> pues
> > no le gustaba que usaramos ese trigger pues daba el error SQL 446,
mirando
> > en la ayuda nos decía que era un problema con el fichero intercalador,
así
> > que creamos de nuevo la tabal añadiendo la clásula SQL_latin1... a
> cada
> > uno de los campos del tipo varchar, es la primera vez que hemos tenido
que
> > hacer algo parecido, pero ha funcionado, es decir, el trigger hace lo
que
> > tiene que hacer.
> >
> > Pues ahora resulta que al servidor de datos, ahora no le gusta la
> tabla
> > cada vez que hacemos algún cruce con ella nos dá el mensaje de error
SQL
> > 446 (no puede resolver el método de intercalación para el símbolo


equal
to
> > '=')
> >
> > Principalmente lo hace con las tablas que se habían creado antes y las
> > modificadas a las que hemos tenido que añadir lo del
> > SQL_Latin1_General...
> >
> > ¿Algien sabe lo que ha pasado?, ¿Por qué antes no necesitábamos poner


lo
> de
> > SQL_Latin1 que se supone que lo ha de coger de la definición de la


base
de
> > datos y ahora si? ¿Por qué no se "entienden" ahora entre las tablas?
> >
> > Gracias a todos, y espero vuestras respuestas.
> > Francisco López
> > Dpt. Desarrollo
> > Keyhelp, S.L.
> > http://www.keyhelp.net
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Carlos Sacristan
21/07/2004 - 08:17 | Informe spam
No entiendo... para cambiar la intercalación de una columna no tienes
porqué exportar los datos, borrar la tabla, recrearla con la nueva
intercalación e importar los datos... Simplemente cambia la intercalación de
cada una de las columnas (y si quieres también la intercalación por defecto
de la base de datos) y listo!!!


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Keyhelp" escribió en el mensaje
news:#
Gracias por tu respuesta, vamos a tener que tomar medidas drásticas y
exportar todos los datos y volver a crear la base de datos, deséame suerte
porque son mas de 200 tablas.
Gracias nuevamente

"Carlos Sacristan" <csacristan ARROBA mvps.org> escribió en el mensaje
news:%
> Puedes alterar la intercalación de una columna de una tabla, pero
> necesitas generar esa sentencia, no existe una forma de alterar todas


las
> columnas creadas ya de manera "masiva", como tú dices :(
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> Por favor, responder únicamente al foro
> Se agradece la inclusión de sentencias DDL
>
>
> "Keyhelp" escribió en el mensaje
> news:epi2$
> > Creo que tenemos acotado el problema.
> > Está en que hemos definido la base de datos de forma AI y CI pero
algunas
> > tablas están como AS y CI,
> > ¿Existe alguna forma mediante un alter o algo parecido que sirva para
> > cambiar de forma masiva la definición de estas tablas que están mal
> creadas?
> >
> > Gracias.
> >
> > "Keyhelp" escribió en el mensaje
> > news:%
> > > Hola a todos...
> > > Esto es para expertos de alto nivel..
> > >
> > > Tenemos una base de datos SQL Server 2000 creada con el intercalador
> > > SQL_latin1_general_CP850_CI_AI, el problema es que hemos creado
nuestra
> > base
> > > de datos y luego hemos realizado cambios en algunas tablas, esos
cambios
> > > consistian en añadir algunos campos nuevos, por lo que nos


guardábamos
> los
> > > datos y eliminábamos la tabla, la volviamos a crear y colocábamos de
> nuevo
> > > los datos.
> > > Nuestra tabla tenía un trigger que realizada una serie de


operaciones,
> > pues
> > > no le gustaba que usaramos ese trigger pues daba el error SQL 446,
> mirando
> > > en la ayuda nos decía que era un problema con el fichero


intercalador,
> así
> > > que creamos de nuevo la tabal añadiendo la clásula SQL_latin1...


a
> > cada
> > > uno de los campos del tipo varchar, es la primera vez que hemos


tenido
> que
> > > hacer algo parecido, pero ha funcionado, es decir, el trigger hace


lo
> que
> > > tiene que hacer.
> > >
> > > Pues ahora resulta que al servidor de datos, ahora no le gusta la
> > tabla
> > > cada vez que hacemos algún cruce con ella nos dá el mensaje de error
> SQL
> > > 446 (no puede resolver el método de intercalación para el símbolo
equal
> to
> > > '=')
> > >
> > > Principalmente lo hace con las tablas que se habían creado antes y


las
> > > modificadas a las que hemos tenido que añadir lo del
> > > SQL_Latin1_General...
> > >
> > > ¿Algien sabe lo que ha pasado?, ¿Por qué antes no necesitábamos


poner
lo
> > de
> > > SQL_Latin1 que se supone que lo ha de coger de la definición de la
base
> de
> > > datos y ahora si? ¿Por qué no se "entienden" ahora entre las tablas?
> > >
> > > Gracias a todos, y espero vuestras respuestas.
> > > Francisco López
> > > Dpt. Desarrollo
> > > Keyhelp, S.L.
> > > http://www.keyhelp.net
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida