Búsquedas en SQL Server ::

Dudas sobre cualquier tema relacionado con Access que no tenga cabida expresa en los otros hilos
ignacio.millan
Nivel 1
Mensajes: 2
Registrado: Lun Abr 08, 2019 11:05 pm

Búsquedas en SQL Server ::

Mensajepor ignacio.millan » Vie Ago 07, 2020 3:10 pm

Tengo un access, preparado para usarlo por 10 personas (55000 registros) de tal forma que los datos están en la red y los clientes tienen su aplicación. Me pasa últimamente que la base de datos se corrompe cada dos horas. Esto hace que todo el mundo tenga que salir, reparar y volver a continuar. Es un fastidio y no veo donde esta el error. He intentado crear un archivo nuevo, pero da el mismo error. Total que he tomado la calle del medio, como falla Access data base, creo un SQL que me de el soporte que no me da Access. Tengo el SQL creado y todo va bien. Pero las busquedas, son muy lentas, tardan 3 minutos mínimo, por ejemplo con esta orden (DoCmd.RunCommand acCmdFind). Es inaceptable para los usuarios en un CallCenter con el cliente en el teléfono.

DoCmd.RunCommand acCmdFind

He probado a hacer otras cosas que he visto en la red, con tablas intermedias, pero al final hay que buscar con esta orden y lo mismo. Es muy lenta.

DoCmd.FindRecord Right(Forms![BuscarReg]!lstItems, 6), , True, , True

He probado a indexar la tabla en SQL para dar mas velocidad, pero tampoco he conseguido nada de velocidad aparente.....
create clustered index IDX_Id on Certificados (Id)
create nonclustered index IDX_Matricula on Certificados ([Matrícula])
create nonclustered index IDX_NumRegistro on Certificados ([Número Registro])

CREATE TABLE [dbo].[Certificados](
[Id] [int] NOT NULL,
[Marca] [nvarchar](100) NULL,
[Tipo] [nvarchar](100) NULL,
[Variante] [nvarchar](100) NULL,
[Denominación Comercial] [nvarchar](100) NULL,
[Contraseña Homologación] [nvarchar](100) NULL,
[Matrícula] [nvarchar](30) NULL,
[Número Bastidor] [nvarchar](18) NOT NULL,
[Referéncia Enganche] [nvarchar](10) NULL,
[Documento] [nvarchar](100) NULL,
[Fecha Registro] [datetime] NULL,
[Número Registro] [int] NULL,
[Soliciti] [nvarchar](50) NULL,
[EnvioWeb] [nvarchar](50) NULL,
[ComentarioWeb] [nvarchar](max) NULL,
[cve] [nvarchar](9) NULL,
[eMail Cliente] [nvarchar](100) NULL,
[CIF] [nvarchar](30) NULL,
[PMR] [nvarchar](10) NULL,
[Contraseña Homologación GDW] [nvarchar](100) NULL,
[Tipo Homologación GDW] [nvarchar](100) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Bueno, en fin, cualquier ayuda será bien venida, tanto para reparar el Access o intentar sacar el error que hace que se corrompa cada cierto tiempo, como para acelerar el SQL en el área de búsqueda. Inserta bien, borra bien, pero llegar al registro en un dolor de tiempo.....

DaniLopez1991
Nivel 5
Mensajes: 149
Registrado: Lun Sep 23, 2019 2:12 pm

Re: Búsquedas en SQL Server ::

Mensajepor DaniLopez1991 » Mié Sep 09, 2020 9:51 am

Yo tambien uso sql server en algunos procedimientos que manejan muchos registros, me paso una vez esto y lo que hize fue reiniciar el SQL o en su defecto reinicie el SERVIDOR donde esta alojado el sql server, no se si es tu caso.... pero esto me funciono, volvi a vincular las tablas de sql (aunque creo que no es necesario) y me volvio a ir rapidamente, tambien tienes que mirar si los indices se han perdido en sql server, o al vincular la tabla se pierden...

Saludos.

DaniLopez1991
Nivel 5
Mensajes: 149
Registrado: Lun Sep 23, 2019 2:12 pm

Re: Búsquedas en SQL Server ::

Mensajepor DaniLopez1991 » Lun Sep 14, 2020 9:31 am

Te explico, yo cambie a sql server. Tengo una BD creada en sql server y luego hago los indices, primary key, foreing key en la base de datos y luego en acces 2010 lo que hago es:
Base de datos de ODBC, le doy a vincular y selecciono mi ODBC creado previamente.
Luego compruebo que tenga los indices, los foreing key y las prmary keys que corresponden.

Luego hay problemas con algunas formas de acces si usas el sql server como por ejemplo al abrir recordsets tiene que ser con opendynaset y de forma dbseechanges.

Tambien hay algunas funciones que no puedes utilizar porque puede ser muy pesada la consulta y no te deja, puede que sea tu caso.

Ahora cuando ami se me corrompia la base de datos por era por culpa del servidor, lo que hize fue reiniciar el servidor y ya está funcionaba bien ya que las consultas que tenia en el programa me tardaban entre 3 o 4 minutos en hacerse.

Prueba a reiniciar el servidor y me dices.


Saludos


Volver a “Cajón de sastre”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado