el numero maximo de tablas en una query ha sido excedido

29/11/2005 - 15:43 por .·:m·a·r·l·a:·. | Informe spam
Hola a todos ::


me he encontrado con el siguiente error ::

[Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate ancillary
table for view or function resolution. The maximun number of tables in a
query (256) was exceeded.

se que la vista que me da dicho error es completamente ineficiente, pero
pensamos utilizara tan solo ocasionalmente para checkear la integridad del
sistema, asi que el tiempo de ejecucion no es importante

tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
diferentes tablas y hacer la vista luego con estas, pero eso supondria
bastante mantenimiento


hay alguna forma de evitar este limite de tablas ??


gracias por adelantado

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
29/11/2005 - 16:36 | Informe spam
Pero por mucho que no te importe el rendimiento, que una vista incluya
más de 256 tablas me parece poco mantenible...¿Podrías postear esa vista y
lo que intentas hacer?


Un saludo

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

".·:m·a·r·l·a:·." escribió en el mensaje
news:#
Hola a todos ::


me he encontrado con el siguiente error ::

[Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate


ancillary
table for view or function resolution. The maximun number of tables in a
query (256) was exceeded.

se que la vista que me da dicho error es completamente ineficiente, pero
pensamos utilizara tan solo ocasionalmente para checkear la integridad del
sistema, asi que el tiempo de ejecucion no es importante

tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
diferentes tablas y hacer la vista luego con estas, pero eso supondria
bastante mantenimiento


hay alguna forma de evitar este limite de tablas ??


gracias por adelantado


Respuesta Responder a este mensaje
#2 Maxi
29/11/2005 - 16:37 | Informe spam
Hola, nop, vas a tener q empezar a resumir como bien has dicho :-S


Salu2
Maxi [MVP SQL SERVER]


".·:m·a·r·l·a:·." escribió en el mensaje
news:%
Hola a todos ::


me he encontrado con el siguiente error ::

[Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate
ancillary
table for view or function resolution. The maximun number of tables in a
query (256) was exceeded.

se que la vista que me da dicho error es completamente ineficiente, pero
pensamos utilizara tan solo ocasionalmente para checkear la integridad del
sistema, asi que el tiempo de ejecucion no es importante

tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
diferentes tablas y hacer la vista luego con estas, pero eso supondria
bastante mantenimiento


hay alguna forma de evitar este limite de tablas ??


gracias por adelantado


Respuesta Responder a este mensaje
#3 Miguel Egea
30/11/2005 - 00:39 | Informe spam
Marla si hay 256 tablas en un query, tiene por fuerza que haber un error de
diseño, si quieres podemos intentar ver donde puede andar ese error e
intentar ayudarte a solventarlo.

Saludos cordiales
Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced education
and solutions for the entire Microsoft database platform"

".·:m·a·r·l·a:·." wrote in message
news:%
Hola a todos ::


me he encontrado con el siguiente error ::

[Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate
ancillary
table for view or function resolution. The maximun number of tables in a
query (256) was exceeded.

se que la vista que me da dicho error es completamente ineficiente, pero
pensamos utilizara tan solo ocasionalmente para checkear la integridad del
sistema, asi que el tiempo de ejecucion no es importante

tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
diferentes tablas y hacer la vista luego con estas, pero eso supondria
bastante mantenimiento


hay alguna forma de evitar este limite de tablas ??


gracias por adelantado


Respuesta Responder a este mensaje
#4 .·:m·a·r·l·a:·.
30/11/2005 - 10:04 | Informe spam
mas que error de diseño es la cantidad de tablas a las que se refiere

a mi tambien me sorprenden 256, pero muchas si que hay llamando otras vistas
en cadena

a grandes rasgos ::

tengo varias tablas de informacion sobre clientes (unas 8) en las cuales
diferentes sistemas/personas hacen inserciones mas otra con la masterdata
(nombre, pais...) de cada cliente

valores como pais o codigo de cliente van codificados mediante un codigo
unico (ejemplo, pais = ES en lugar de España)

cada una de estas tablas tiene una vista que devuelve todas las lineas mas
valores de otras tablas como lookups (ejemplo de pais, España,[tabla :
codigo . nombre] Europa ... [tabla codigo - continente]), asi que cada una
de estas vistas llama entre 5 y 15 tablas

he aqui donde entra la vista problematica, la idea es crear una vista que
"una" resumenes de todas las tablas, empezando por el codigo cliente y
añadiendo masterdata si esta existe, lineas (count) para cada cliente de
cada una de las vistas que tiene cada tabla original, count distint de
diferentes campos...

y como los resultado tienen que mostrar todos los clientes, auque estos solo
existan en una de las tablas y no el la tabla maestra, tengo que hacer una
union inicial para extraer todos los codigos de clientes

asi que, haciendo numeros :
- 8 tablas datos
- 1 tabla maestra
- 8 vistas cada una llamando entre 5 y 15 tablas
- union de las ultimas 8 vistas para extraer todos los codigos de cliente
(algunas tablas originales no contienen el numero cliente real, este es
claculado en la vista)
- join entre esta ultima vista y las 8 anteriores (la vista problematica)

acepto que la eficiencia es nula (demasiado complejo, datos demasiado
fragmentados...) y devido a que se va a utilizar poco no queria gastar
demasiado tiempo en rediseñar las vistas que ya estan hechas


lo que si es importante es que los datos sean lo mas actuales posibles, esa
es la razon de hacerlo todo con vistas y no tablas cache intermedias, y lo
mas rapido que he pensado es en cambiar alguna configuracion en el servidor
para que acepte mas de 256 tablas

perdon por el tocho escrito
alguna idea ??



"Miguel Egea" wrote in message
news:
Marla si hay 256 tablas en un query, tiene por fuerza que haber un error


de
diseño, si quieres podemos intentar ver donde puede andar ese error e
intentar ayudarte a solventarlo.

Saludos cordiales
Miguel Egea
Visita mi web http://www.portalsql.com
SQL Server MVP, Mentor
Solid Quality Learning
http://www.SolidQualityLearning.com
"Solid Quality Learning is the trusted global provider of advanced


education
and solutions for the entire Microsoft database platform"

".·:m·a·r·l·a:·." wrote in message
news:%
> Hola a todos ::
>
>
> me he encontrado con el siguiente error ::
>
> [Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate
> ancillary
> table for view or function resolution. The maximun number of tables in a
> query (256) was exceeded.
>
> se que la vista que me da dicho error es completamente ineficiente, pero
> pensamos utilizara tan solo ocasionalmente para checkear la integridad


del
> sistema, asi que el tiempo de ejecucion no es importante
>
> tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
> diferentes tablas y hacer la vista luego con estas, pero eso supondria
> bastante mantenimiento
>
>
> hay alguna forma de evitar este limite de tablas ??
>
>
> gracias por adelantado
>
>


Respuesta Responder a este mensaje
#5 .·:m·a·r·l·a:·.
30/11/2005 - 11:49 | Informe spam
me doy cuenta del problema de mantenimiento, pero las tablas no cuelgan
directamente, son tablas a las que se refiere otras vistas incluidas en esta
vista

te comento cual es mi intencion a grandes rasgos ::

tengo varias tablas de informacion sobre clientes (unas 8) en las cuales
diferentes sistemas/personas hacen inserciones mas otra con la masterdata
(nombre, pais...) de cada cliente

valores como pais o codigo de cliente van codificados mediante un codigo
unico (ejemplo, pais = ES en lugar de España)

cada una de estas tablas tiene una vista que devuelve todas las lineas mas
valores de otras tablas como lookups (ejemplo de pais, España,[tabla :
codigo - nombre] Europa ... [tabla codigo - continente]), asi que cada una
de estas vistas llama entre 5 y 15 tablas

he aqui donde entra la vista problematica, la idea es crear una vista que
"una" resumenes de todas las tablas, empezando por el codigo cliente y
añadiendo masterdata si esta existe, lineas (count) para cada cliente de
cada una de las vistas que tiene cada tabla original, count distint de
diferentes campos...

y como los resultado tienen que mostrar todos los clientes, auque estos solo
existan en una de las tablas y no el la tabla maestra, tengo que hacer una
union inicial para extraer todos los codigos de clientes

asi que, haciendo numeros :
- 8 tablas datos
- 1 tabla maestra
- 8 vistas cada una llamando entre 5 y 15 tablas
- union de las ultimas 8 vistas para extraer todos los codigos de cliente
(algunas tablas originales no contienen el numero cliente real, este es
calculado en la vista)
- join entre esta ultima vista y las 8 anteriores (la vista problematica)

acepto que la eficiencia es nula (demasiado complejo, datos demasiado
fragmentados...) y devido a que se va a utilizar poco no queria gastar
demasiado tiempo en rediseñar las vistas que ya estan hechas


lo que si es importante es que los datos sean lo mas actuales posibles, esa
es la razon de hacerlo todo con vistas y no tablas cache intermedias, y lo
mas rapido que he pensado es en cambiar alguna configuracion en el servidor
para que acepte mas de 256 tablas

perdon por el tocho escrito
alguna idea ??




"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> wrote in message
news:
Pero por mucho que no te importe el rendimiento, que una vista incluya
más de 256 tablas me parece poco mantenible...¿Podrías postear esa vista y
lo que intentas hacer?


Un saludo

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

".·:m·a·r·l·a:·." escribió en el mensaje
news:#
> Hola a todos ::
>
>
> me he encontrado con el siguiente error ::
>
> [Microsoft][ODBC SQL Server Driver][SQL Server]Could not allocate
ancillary
> table for view or function resolution. The maximun number of tables in a
> query (256) was exceeded.
>
> se que la vista que me da dicho error es completamente ineficiente, pero
> pensamos utilizara tan solo ocasionalmente para checkear la integridad


del
> sistema, asi que el tiempo de ejecucion no es importante
>
> tan solo se me ocurre ne la solucion de "cachear" parte de la vista a
> diferentes tablas y hacer la vista luego con estas, pero eso supondria
> bastante mantenimiento
>
>
> hay alguna forma de evitar este limite de tablas ??
>
>
> gracias por adelantado
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida