Problema grave. Gracias por la ayuda

16/06/2005 - 02:22 por Nacho | Informe spam
Tengo un problema muy grave. Yo de Access controlo un poco y de SQL nada de
nada. He pasado una base de datos en access 2003 .mdb a un proyecto .adp, ya
que me habian dicho que esta era la mejor opcion, pero creo que va a ser un
problema pasarlo, porque no controlo nada de SQL y tengo que rehacer para
empezar todas las consultas y pasarlas a vistas y a procedimientos
almacenados (cosa de la que no tengo ni idea, y usando el asistente del
access de pasar a SQL, no me pasa casi ninguna) y prefiero seguir trabajando
con las tablas en SQL y con un access .mdb contra el SQL. El problema es que
he vinculado las tablas y cada vez que hago una busqueda, no ya en un
formulario ni en una consulta, sino en la misma tabla, le digo que me busque
un "ID de cliente" por ejemplo, y me tengo que ir a tomar un cafe. Tarda
muchisimo. Antes, teniendo el fichero .mdb compartido, no me pasaba, y
haciamos busquedas a toda leche. Pero desde que estan las tablas vinculadas,
las busquedas se hacen eternas. He comprobado todo con un amigo que controla
bastante de SQL y no sabemos por que el access se comporta de esta manera.
La cuestion es que al hacer una busqueda en una tabla, me trae todos los
registros (en algunos casos 100.000) y no me presenta el que busco hasta que
los ha leido todos. Eso es inaceptable porque tarda muchisimo, pero no se
como arreglarlo. Antes de pasar las tablas al SQL no me pasaba (y eran
practicamente el mismo numero de registros). No creo que access haga esto
tan mal. Si se le ocurre a alguien alguna idea de como solucionarlo os lo
agradeceria, porque estoy muy desesperado.

Muchas gracias,

Nacho

Preguntas similare

Leer las respuestas

#1 Maxi
16/06/2005 - 02:39 | Informe spam
Hola Nacho, mira vamos por partes dijo Jack ;-)

Primero, traer 100.000 registros de una me parece una locura total, porque
no hacer un filtro?

Segundo: Las tablas de sql tienen los indices adecuados?

Tercero: Si ejecutas las querys desde el analizador de consultas como
funcionan?

Te comento que tengo una base donde supera los 5.000.000 de registros y una
query no tarda mas de 3 segundos en un servidor piii 1ghz 2gb RAM con 120
usuarios concurrentes


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nacho" escribió en el mensaje
news:
Tengo un problema muy grave. Yo de Access controlo un poco y de SQL nada
de nada. He pasado una base de datos en access 2003 .mdb a un proyecto
.adp, ya que me habian dicho que esta era la mejor opcion, pero creo que
va a ser un problema pasarlo, porque no controlo nada de SQL y tengo que
rehacer para empezar todas las consultas y pasarlas a vistas y a
procedimientos almacenados (cosa de la que no tengo ni idea, y usando el
asistente del access de pasar a SQL, no me pasa casi ninguna) y prefiero
seguir trabajando con las tablas en SQL y con un access .mdb contra el
SQL. El problema es que he vinculado las tablas y cada vez que hago una
busqueda, no ya en un formulario ni en una consulta, sino en la misma
tabla, le digo que me busque un "ID de cliente" por ejemplo, y me tengo
que ir a tomar un cafe. Tarda muchisimo. Antes, teniendo el fichero .mdb
compartido, no me pasaba, y haciamos busquedas a toda leche. Pero desde
que estan las tablas vinculadas, las busquedas se hacen eternas. He
comprobado todo con un amigo que controla bastante de SQL y no sabemos por
que el access se comporta de esta manera. La cuestion es que al hacer una
busqueda en una tabla, me trae todos los registros (en algunos casos
100.000) y no me presenta el que busco hasta que los ha leido todos. Eso
es inaceptable porque tarda muchisimo, pero no se como arreglarlo. Antes
de pasar las tablas al SQL no me pasaba (y eran practicamente el mismo
numero de registros). No creo que access haga esto tan mal. Si se le
ocurre a alguien alguna idea de como solucionarlo os lo agradeceria,
porque estoy muy desesperado.

Muchas gracias,

Nacho

Respuesta Responder a este mensaje
#2 Nacho
16/06/2005 - 03:03 | Informe spam
Gracias Maxi por responder.
Te cuento:

Punto tercero: hemos probado querys en el analizador de consultas y van a
toda leche. Ahi funcionan muy bien.
Punto primero: Tengo una tabla de presupuestos, con una consulta (en la que
estan todos los campos de la tabla y algun campo calculado con una
expresion) y un formulario basado en la consulta. Si abro el formulario y me
voy al campo "ID de presupuesto" para buscar un presupuesto, le doy al boton
de buscar y escribo el numero de ID de presupuesto que es un valor
autonumerico y en la tabla es la clave principal. Esto me tarda un rato en
el que estoy mirando a la pantalla sin saber que hacer. Es insoportable.
Pueden ser 35.000 registros, pero tarda 30 segundos de reloj. El servidor de
SQL es un doble procesador Intel pentium Xeon con Hyperthreading, 2 gigas de
ram, etc... Por maquina no es, eso seguro. La maquina cliente tampoco. Y en
la oficina somos 12 personas. La red va a 1.000.
Punto segundo: este es el punto importante. Todas las tablas tienen clave
principal, pero me has dicho que era mejor que no indexase nada. No me
preguntes por que, porque no me acuerdo. Si puedes decirme como se hace y
cuales son los resultados, a lo mejor lo intento.

Muchas gracias

Nacho

"Maxi" escribió en el mensaje
news:
Hola Nacho, mira vamos por partes dijo Jack ;-)

Primero, traer 100.000 registros de una me parece una locura total, porque
no hacer un filtro?

Segundo: Las tablas de sql tienen los indices adecuados?

Tercero: Si ejecutas las querys desde el analizador de consultas como
funcionan?

Te comento que tengo una base donde supera los 5.000.000 de registros y
una query no tarda mas de 3 segundos en un servidor piii 1ghz 2gb RAM con
120 usuarios concurrentes


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nacho" escribió en el mensaje
news:
Tengo un problema muy grave. Yo de Access controlo un poco y de SQL nada
de nada. He pasado una base de datos en access 2003 .mdb a un proyecto
.adp, ya que me habian dicho que esta era la mejor opcion, pero creo que
va a ser un problema pasarlo, porque no controlo nada de SQL y tengo que
rehacer para empezar todas las consultas y pasarlas a vistas y a
procedimientos almacenados (cosa de la que no tengo ni idea, y usando el
asistente del access de pasar a SQL, no me pasa casi ninguna) y prefiero
seguir trabajando con las tablas en SQL y con un access .mdb contra el
SQL. El problema es que he vinculado las tablas y cada vez que hago una
busqueda, no ya en un formulario ni en una consulta, sino en la misma
tabla, le digo que me busque un "ID de cliente" por ejemplo, y me tengo
que ir a tomar un cafe. Tarda muchisimo. Antes, teniendo el fichero .mdb
compartido, no me pasaba, y haciamos busquedas a toda leche. Pero desde
que estan las tablas vinculadas, las busquedas se hacen eternas. He
comprobado todo con un amigo que controla bastante de SQL y no sabemos
por que el access se comporta de esta manera. La cuestion es que al hacer
una busqueda en una tabla, me trae todos los registros (en algunos casos
100.000) y no me presenta el que busco hasta que los ha leido todos. Eso
es inaceptable porque tarda muchisimo, pero no se como arreglarlo. Antes
de pasar las tablas al SQL no me pasaba (y eran practicamente el mismo
numero de registros). No creo que access haga esto tan mal. Si se le
ocurre a alguien alguna idea de como solucionarlo os lo agradeceria,
porque estoy muy desesperado.

Muchas gracias,

Nacho





Respuesta Responder a este mensaje
#3 Maxi
16/06/2005 - 04:12 | Informe spam
Hola Nacho, si desde el analizador funciona bien, entonces el problema es de
acces y lamento no poder ayudarte. No se si es bueno usar como cliente
access contra sql server :S


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nacho" escribió en el mensaje
news:
Gracias Maxi por responder.
Te cuento:

Punto tercero: hemos probado querys en el analizador de consultas y van a
toda leche. Ahi funcionan muy bien.
Punto primero: Tengo una tabla de presupuestos, con una consulta (en la
que estan todos los campos de la tabla y algun campo calculado con una
expresion) y un formulario basado en la consulta. Si abro el formulario y
me voy al campo "ID de presupuesto" para buscar un presupuesto, le doy al
boton de buscar y escribo el numero de ID de presupuesto que es un valor
autonumerico y en la tabla es la clave principal. Esto me tarda un rato en
el que estoy mirando a la pantalla sin saber que hacer. Es insoportable.
Pueden ser 35.000 registros, pero tarda 30 segundos de reloj. El servidor
de SQL es un doble procesador Intel pentium Xeon con Hyperthreading, 2
gigas de ram, etc... Por maquina no es, eso seguro. La maquina cliente
tampoco. Y en la oficina somos 12 personas. La red va a 1.000.
Punto segundo: este es el punto importante. Todas las tablas tienen clave
principal, pero me has dicho que era mejor que no indexase nada. No me
preguntes por que, porque no me acuerdo. Si puedes decirme como se hace y
cuales son los resultados, a lo mejor lo intento.

Muchas gracias

Nacho

"Maxi" escribió en el mensaje
news:
Hola Nacho, mira vamos por partes dijo Jack ;-)

Primero, traer 100.000 registros de una me parece una locura total,
porque no hacer un filtro?

Segundo: Las tablas de sql tienen los indices adecuados?

Tercero: Si ejecutas las querys desde el analizador de consultas como
funcionan?

Te comento que tengo una base donde supera los 5.000.000 de registros y
una query no tarda mas de 3 segundos en un servidor piii 1ghz 2gb RAM con
120 usuarios concurrentes


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nacho" escribió en el mensaje
news:
Tengo un problema muy grave. Yo de Access controlo un poco y de SQL nada
de nada. He pasado una base de datos en access 2003 .mdb a un proyecto
.adp, ya que me habian dicho que esta era la mejor opcion, pero creo que
va a ser un problema pasarlo, porque no controlo nada de SQL y tengo que
rehacer para empezar todas las consultas y pasarlas a vistas y a
procedimientos almacenados (cosa de la que no tengo ni idea, y usando el
asistente del access de pasar a SQL, no me pasa casi ninguna) y prefiero
seguir trabajando con las tablas en SQL y con un access .mdb contra el
SQL. El problema es que he vinculado las tablas y cada vez que hago una
busqueda, no ya en un formulario ni en una consulta, sino en la misma
tabla, le digo que me busque un "ID de cliente" por ejemplo, y me tengo
que ir a tomar un cafe. Tarda muchisimo. Antes, teniendo el fichero .mdb
compartido, no me pasaba, y haciamos busquedas a toda leche. Pero desde
que estan las tablas vinculadas, las busquedas se hacen eternas. He
comprobado todo con un amigo que controla bastante de SQL y no sabemos
por que el access se comporta de esta manera. La cuestion es que al
hacer una busqueda en una tabla, me trae todos los registros (en algunos
casos 100.000) y no me presenta el que busco hasta que los ha leido
todos. Eso es inaceptable porque tarda muchisimo, pero no se como
arreglarlo. Antes de pasar las tablas al SQL no me pasaba (y eran
practicamente el mismo numero de registros). No creo que access haga
esto tan mal. Si se le ocurre a alguien alguna idea de como solucionarlo
os lo agradeceria, porque estoy muy desesperado.

Muchas gracias,

Nacho









Respuesta Responder a este mensaje
#4 Antonio Ortiz R
16/06/2005 - 05:41 | Informe spam
De hecho Access es una excelente opcion como cliente SQL, su problema es
algo tipico de alguien acostumbrado a una aplicacion con base de datos
orientada a archivos.

En access puedes implementar varias opciones que te ayudaran a agilizar
esto.

Primera regla: NO cargues toda la tabla en el formulario, esto puedes
hacerlo:

1) Una instruccion SQL con clausula Where en el 'RecordSource' o b) Una
tabla como RecordSource y estableciendo la propiedad MaxRecords a una
cantidad X. Esto en conjunto con el boton 'Filtrar' de Access te solucionara
el problema.

2) Puedes crear una pantalla de consulta con varias opciones que serviran
como filtro y un boton que al presionar, te cree una consulta SQL al vuelo
para un subformulario que muestra los resultados.

* Por ultimo, revisa los indices, asegurandote de crear indices para los
campos mas utilizados, como Codigos, Fechas de venta, ID's, etc.


Disculpa, mis palabras reservadas en ingles, pero tengo el Access 2000
ingles

Antonio Ortiz
asesor en sistemas
ant(a)aortiz.net
www.aortiz.net
www.progvisual.com





"Maxi" escribió en el mensaje
news:
Hola Nacho, si desde el analizador funciona bien, entonces el problema es


de
acces y lamento no poder ayudarte. No se si es bueno usar como cliente
access contra sql server :S


Maxi - Buenos Aires - Argentina
Desarrollador 3 Estrellas

Msn_messager:
mail: Maxi.da[arroba]gmail.com

"Nacho" escribió en el mensaje
news:
> Gracias Maxi por responder.
> Te cuento:
>
> Punto tercero: hemos probado querys en el analizador de consultas y van


a
> toda leche. Ahi funcionan muy bien.
> Punto primero: Tengo una tabla de presupuestos, con una consulta (en la
> que estan todos los campos de la tabla y algun campo calculado con una
> expresion) y un formulario basado en la consulta. Si abro el formulario


y
> me voy al campo "ID de presupuesto" para buscar un presupuesto, le doy


al
> boton de buscar y escribo el numero de ID de presupuesto que es un valor
> autonumerico y en la tabla es la clave principal. Esto me tarda un rato


en
> el que estoy mirando a la pantalla sin saber que hacer. Es insoportable.
> Pueden ser 35.000 registros, pero tarda 30 segundos de reloj. El


servidor
> de SQL es un doble procesador Intel pentium Xeon con Hyperthreading, 2
> gigas de ram, etc... Por maquina no es, eso seguro. La maquina cliente
> tampoco. Y en la oficina somos 12 personas. La red va a 1.000.
> Punto segundo: este es el punto importante. Todas las tablas tienen


clave
> principal, pero me has dicho que era mejor que no indexase nada. No me
> preguntes por que, porque no me acuerdo. Si puedes decirme como se hace


y
> cuales son los resultados, a lo mejor lo intento.
>
> Muchas gracias
>
> Nacho
>
> "Maxi" escribió en el mensaje
> news:
>> Hola Nacho, mira vamos por partes dijo Jack ;-)
>>
>> Primero, traer 100.000 registros de una me parece una locura total,
>> porque no hacer un filtro?
>>
>> Segundo: Las tablas de sql tienen los indices adecuados?
>>
>> Tercero: Si ejecutas las querys desde el analizador de consultas como
>> funcionan?
>>
>> Te comento que tengo una base donde supera los 5.000.000 de registros y
>> una query no tarda mas de 3 segundos en un servidor piii 1ghz 2gb RAM


con
>> 120 usuarios concurrentes
>>
>>
>> Maxi - Buenos Aires - Argentina
>> Desarrollador 3 Estrellas
>>
>> Msn_messager:
>> mail: Maxi.da[arroba]gmail.com
>>
>> "Nacho" escribió en el mensaje
>> news:
>>> Tengo un problema muy grave. Yo de Access controlo un poco y de SQL


nada
>>> de nada. He pasado una base de datos en access 2003 .mdb a un proyecto
>>> .adp, ya que me habian dicho que esta era la mejor opcion, pero creo


que
>>> va a ser un problema pasarlo, porque no controlo nada de SQL y tengo


que
>>> rehacer para empezar todas las consultas y pasarlas a vistas y a
>>> procedimientos almacenados (cosa de la que no tengo ni idea, y usando


el
>>> asistente del access de pasar a SQL, no me pasa casi ninguna) y


prefiero
>>> seguir trabajando con las tablas en SQL y con un access .mdb contra el
>>> SQL. El problema es que he vinculado las tablas y cada vez que hago


una
>>> busqueda, no ya en un formulario ni en una consulta, sino en la misma
>>> tabla, le digo que me busque un "ID de cliente" por ejemplo, y me


tengo
>>> que ir a tomar un cafe. Tarda muchisimo. Antes, teniendo el fichero


.mdb
>>> compartido, no me pasaba, y haciamos busquedas a toda leche. Pero


desde
>>> que estan las tablas vinculadas, las busquedas se hacen eternas. He
>>> comprobado todo con un amigo que controla bastante de SQL y no sabemos
>>> por que el access se comporta de esta manera. La cuestion es que al
>>> hacer una busqueda en una tabla, me trae todos los registros (en


algunos
>>> casos 100.000) y no me presenta el que busco hasta que los ha leido
>>> todos. Eso es inaceptable porque tarda muchisimo, pero no se como
>>> arreglarlo. Antes de pasar las tablas al SQL no me pasaba (y eran
>>> practicamente el mismo numero de registros). No creo que access haga
>>> esto tan mal. Si se le ocurre a alguien alguna idea de como


solucionarlo
>>> os lo agradeceria, porque estoy muy desesperado.
>>>
>>> Muchas gracias,
>>>
>>> Nacho
>>>
>>
>>
>
>


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