Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-04-2005
Avatar de droguerman
droguerman droguerman is offline
Miembro
 
Registrado: abr 2005
Ubicación: tierra
Posts: 999
Poder: 22
droguerman Va por buen camino
Cool

Nota: eso me funcionó a mí, pero te recomendaría que saques un backup antes

primero cambia la intercalación de la base de datos por ejemplo a SQL_Latin1_General_CP1_CI_AS:
Código:
 ALTER DATABASE <nombre> COLLATE SQL_Latin1_General_CP1_CI_AS
luego generamos un script usando el Analizador de Consultas (no es una maravilla de hecho falla con tipos de datos de usuario pero te puede servir)

Código:
 SELECT 'ALTER TABLE ' + o.name + ' ALTER COLUMN ' + C.name + ' ' + 
 	T.name +'(' + CAST(c.length as varchar(4)) + ') COLLATE ' + 
 ' SQL_Latin1_General_CP1_CI_AS;'
 from syscolumns C, sysobjects O, systypes T 
 where (C.collation is not null) and C.id = O.id and c.TYPE = T.TYPE AND
 C.XUSERTYPE = T.XUSERTYPE AND o.type = 'U'  
 ORDER BY O.NAME;
eso te generará una secuencias de comandos SQL ejecutalos y mucha suerte
Responder Con Cita
  #2  
Antiguo 28-04-2005
atirado atirado is offline
Miembro
 
Registrado: mar 2004
Posts: 41
Poder: 0
atirado Va por buen camino
Thumbs up Re:

Muchas gracias, droguerman! ya pude resolver el problema

saludos enormes!
Responder Con Cita
  #3  
Antiguo 03-03-2015
Avatar de gabrielflowers
gabrielflowers gabrielflowers is offline
Miembro
 
Registrado: jul 2007
Posts: 88
Poder: 20
gabrielflowers Va por buen camino
resuelto

Por si a alguien le sirve la forma correcta de cambiar la intercalacion de una base de datos, de todas sus tablas, y campos seria:

Código SQL [-]

ALTER DATABASE MiBd --bd 
COLLATE Modern_Spanish_CI_AS;  --intercalacion

--

use MiBD--bd
declare @var1 as nvarchar(max)

DECLARE micursor CURSOR SCROLL FOR
SELECT 'ALTER TABLE ' + o.name + ' ALTER COLUMN [' + C.name + '] ' + 
T.name +'(' + CAST(c.length as varchar(4)) + ') COLLATE ' + 
'Modern_Spanish_CI_AS; ' --poner aca la intercalacion
from syscolumns C, sysobjects O, systypes T 
where (C.collation is not null) and C.id = O.id and c.TYPE = T.TYPE AND
C.XUSERTYPE = T.XUSERTYPE AND o.type = 'U'  
ORDER BY O.NAME;

OPEN micursor
FETCH NEXT FROM micursor INTO @var1
WHILE(@@FETCH_STATUS = 0 ) 
BEGIN
  --codigo transact sql
  --select @var1
  exec(@var1)
  
  FETCH NEXT FROM micursor INTO @var1
END
CLOSE micursor
DEALLOCATE micursor
__________________
"valor a pesar de toda debilidad del cuerpo, el espiritu debe triunfar"
Responder Con Cita
  #4  
Antiguo 03-03-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.676
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
10 años después

Gracias, nunca es tarde
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:57:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi