Conflicto intercalacion

03/09/2008 - 04:11 por JLopez | Informe spam
Hola grupo

Tengo un problema con mi base de datos y es que tengo diferencias entre
SQL_Latin1_General_CP1_CI_AS y Modern_Spanish_CI_AS en la declaracion de
columnas en algunas tablas. El problema es que tengo casi 50 tablas y no lo
puedo arreglar una por una. Hay alguna forma de hacerlo para todas de una
sola vez? p. ej que todas sean Modern_Spanish_CI_AS

Desde ya muchas gracias

Preguntas similare

Leer las respuestas

#1 Ricardo Junquera
03/09/2008 - 09:23 | Informe spam
Hola

Si tienes la base de datos vacia podrías generar el script de la base de
datos, cambiar el collate en el script y ejecutar el script.

Si tienes datos que no quieres perder podrías crear un procedimiento
almacenado que recorra todas las tablas y en caso de que tengan un campo char
ejecute el correspondiente alter table.
Te dejo un link a un procedimiento

http://darkbcd.itakate.net/index.ph...p;blogId=1

Sino mirate esta otra respuesta a una pregunta muy parecida
http://www.microsoft.com/communitie...d3&p=1

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"JLopez" wrote:

Hola grupo

Tengo un problema con mi base de datos y es que tengo diferencias entre
SQL_Latin1_General_CP1_CI_AS y Modern_Spanish_CI_AS en la declaracion de
columnas en algunas tablas. El problema es que tengo casi 50 tablas y no lo
puedo arreglar una por una. Hay alguna forma de hacerlo para todas de una
sola vez? p. ej que todas sean Modern_Spanish_CI_AS

Desde ya muchas gracias



Respuesta Responder a este mensaje
#2 César Toledo
03/09/2008 - 18:22 | Informe spam
hay una forma bastante facil de hacerlo..

Sacas scripts de las tablas que quieres cambiar la collate secuence, con
todo, PK, FK, Triggers, todo
luego sacas un backup usando BCP -n (formato nativo) OUT

luego borras las tablas mencionadas..
ejecutas los scripts de creacion..
y luego devuelves el contenido del BCP con opcion IN -n

te sugiero hacerlo en una base de datos de prueba para que corrijas
cualquier cosa
si te saltas un paso.

Saludos,

César


JLopez escribió:
Hola grupo

Tengo un problema con mi base de datos y es que tengo diferencias entre
SQL_Latin1_General_CP1_CI_AS y Modern_Spanish_CI_AS en la declaracion de
columnas en algunas tablas. El problema es que tengo casi 50 tablas y no lo
puedo arreglar una por una. Hay alguna forma de hacerlo para todas de una
sola vez? p. ej que todas sean Modern_Spanish_CI_AS

Desde ya muchas gracias



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