Buscar un texto en toda la bbdd

07/10/2003 - 12:36 por iDeafix | Informe spam
Hola.

Estoy analizando un sistema hecho por otra gente. Me gustaría saber si puede
hacerse esta barbaridad:

Quiero buscar un texto, por ejemplo "NoCall", para buscarlo en TODA la base
de datos a ver en qué tabla está el dichoso texto.





Explicacion del problema:

* En la aplicación aparecen una serie de textos de error, cuando acudo a la
tabla, en lugar de esos mensajes aparecen códigos: 1,2,3 etc.

* Por tanto, debe haber alguna tabla de mensajes de error donde se almacene
el código y texto de cada error.

* He mirado en todas las tablas que he podido (hay muchas) y muchas de ellas
tienen nombres raros (CFG_32324, etc) que no dicen nada.

Preguntas similare

Leer las respuestas

#6 iDeafix
07/10/2003 - 13:23 | Informe spam
eso mismo :O)


El problema, Rubén, es que yo creo que "Ideafix" tampoco sabe el campo
sobre el que buscar el texto en cuestión...

Respuesta Responder a este mensaje
#7 Tako
07/10/2003 - 13:27 | Informe spam
"Carlos Sacristan" <csacristanARROBAocasoPUNTOes> wrote in message
news:

El problema, Rubén, es que yo creo que "Ideafix" tampoco sabe el campo
sobre el que buscar el texto en cuestión...





Aquí tienes un truco para hacerlo a mano:

Ejecuta esto en el Query Analizer, haciendo que el resultado te lo de en
modo texto:

declare @valorABuscar varchar(3000)
set @valorABuscar = 'Hola'


select 'select ' + syscolumns.name +
' from ' + sysobjects.name +
' where ' + syscolumns.name + 'like ''%' + @valorABuscar + '%'''

from syscolumns inner join sysobjects on
syscolumns.id = sysobjects.id

where sysobjects.xtype = 'u' or sysobjects.xtype = 's'

sustituyes 'Hola' por lo que quieres buscar.
Después copias el resultado de lo de arriba, y lo pegas en el Query Analizer
y ejecutas otra vez :)
Respuesta Responder a este mensaje
#8 Tako
07/10/2003 - 13:38 | Informe spam
"Tako" wrote in message
news:%

Aquí tienes un truco para hacerlo a mano:

Ejecuta esto en el Query Analizer, haciendo que el resultado te lo de


en
modo texto:

declare @valorABuscar varchar(3000)
set @valorABuscar = 'Hola'


select 'select ' + syscolumns.name +
' from ' + sysobjects.name +
' where ' + syscolumns.name + 'like ''%' + @valorABuscar + '%'''

from syscolumns inner join sysobjects on
syscolumns.id = sysobjects.id

where sysobjects.xtype = 'u' or sysobjects.xtype = 's'




Se me ha olvidado decirlo que la he hecho a votepronto, quizás sería
mejor si se quitase el sysobjects.xtype = 's' para que no mire en las
tablas de sistema, además quizás tengas que depurarlo un poco si hay
columnas que no se puedan comparar con un varchar (me parece que con las
image daría problemas)
Respuesta Responder a este mensaje
#9 Rubén Vigón
07/10/2003 - 18:08 | Informe spam
Cierto, Carlos. Habría que implementar algo así como «sp_MSforeachField»...

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida