Problema al abrir tabla
SOLUCIÓN PROPUESTA
Lo ideal siempre sera utilizar Procedimientos Almacenados
1.- Por Seguridad
2.- Por Velocidad
Por lo cual me uno a la respuesta de Maxi, sobre todo si tienes un millon de
registros.
Pero ciertamente tienes que aprender un conjunto de habilidades adicionales.
Pero esto te puede servir de referencia
Set cmdComando as New ADODB.COommand
Set cmdComando.ActiveConection = cn
With cmdComando
.CommandType = adCmdStoredProcedure
.CommandText = "NombreProcedimentoAlmacenado"
.Paraneters,Append.CreateParameter("@Parametro1", adInterger, adParamInput)
.Paraneters,Append.CreateParameter("@Parametro2", adInterger, adParamInput)
'Tantos parametros como te sean necesarios
End With
Set rsRecordset = New ADODB.Recordset
rsRecordset.Open cmdComando
Este procedimiento llenaria tu recordset con la información que te devuelva
el procedimiento almacenado.
Un punto importante es que no necesitas regresar el millon de registros, en
el procedimiento. Mas bien deberias regresar un conjunto de resultados menor
que contenga la información que deseas mostrar.
MENSAJE ORIGINAL
"Maxi [Mvp]" wrote:
> Hola, estas pasando 1M de registros? pues te diria que revises muy bien esa
> aplicacion, no es para nada recomendado hacer esto. Para que pasar de un
> lado a otro todo si luego quizas usamos poco? solo pasa lo que necesitas.
>
> Para todo lo que es CRUD (Create Read Update Delete) te recomiendo Stores
> procedures.
>
> --
>
> Saludos
>
> ----------------------------------------
> Buenos Aires - Argentina
> [Microsoft MVP SQL SERVER]
> www.sqlgurus.org
> -----------------------------------------------
> "Luis M"
> news:eV2FbIiQGHA.1096@TK2MSFTNGP11.phx.gbl...
> > Gracias Isaias, pues esta tabla debe tener aproximadamente 1 millón de
> > registros.
> >
> > Cuál opción me sugieres para subir registros nuevos? he pensado que
> > utilizando el comando "INSERT INTO" de la conexion.
> >
> > Gracias
> >
> > Luis
> > "Isaias"
> > news:2EC86CA1-3969-4A0D-99B8-68CD02343B29@microsoft.com...
> >> ¿Porque llevar al front el contenido TOTAL de los registros de una
> >> tabla?,¿De
> >> cuantos registros estamos hablando?
> >> --
> >> Saludos
> >> IIslas
> >>
> >>
> >> "Luis M" escribió:
> >>
> >>> Amigos,
> >>>
> >>> Utilizando ADO estoy ingresando registros en una BD SQL, donde hay una
> >>> tabla
> >>> con muchos registros que me demora un poco la conexión y por eso,
> >>> coloqué la
> >>> propiedad cn.connectiontimeout en 0 (cero) y se conecta sin problemas
> >>> pero
> >>> luego al tratar de abrir la tabla con la siguiente instrucción me
> >>> reporta
> >>> que se agotó el tiempO de espera:
> >>>
> >>> rs.Open "TABLA", cn, adOpenKeyset, adLockOptimistic, adCmdTable
> >>>
> >>> Le agregué la opció de reintentar si el estado del recordset es cerrado
> >>> pero, aún así, no logra abrir dicha tabla.
> >>>
> >>> Por favor su ayuda.
> >>>
> >>> Gracias,
> >>>
> >>> Luis Medina
REFERNCIA EN EL GRUPO DE NOTICIAS:
http://www.microsoft.com/communities/newsgroups/en-us/default.aspx?dg=microsoft.public.es.sqlserver&mid=00637061-2fcc-4121-b458-43b4741b0a6b&cid=c3325244-808a-4d81-b6cc-69ce97e44d20


2 Comments:
Raul, gracias por tu ayuda, me das una idea de manejar estos procedimientos.
Necesito entonces también saber cómo los creo o los modifico. Conoces algún
sitio web donde pueda informarme sobre todos estos temas?
Gracias
Luis
Estimado Luis,
Escribir un procedimiento almacenado en una base de datos como sql server es bastante sencillo.
Regularmente tu realizarias una consulta a la base de datos de la siguiente manera.
SELECT ColumnaA, ColumnaB FROM Tabla1
Esto mismo lo puedes pasar a un procedimiento almacenado comm
CREATE PROCEDURE miProcedimientoAlmacenado
AS
SELECT ColumnaA, ColumnaB FROM Tabla1
GO
Ahora que si lo que quisieras es mandar un parametro para filtrar la consulta entonces se veria de la siguiente forma:
CREATE PROCEDURE miProcedimientoAlmacenado
@Parametro1 int
AS
SELECT ColumnaA, ColumnaB FROM Tabla1 WHERE ColumnaA = @Parametro1
GO
Si quieres utilizar mas de un parametro entonces se veria asi.
CREATE PROCEDURE miProcedimientoAlmacenado
@Parametro1 int,
@Parametro1 nvarchar(50),
@Parametro1 bit
AS
......
GO
Si quieres saber mas de estos temas puedes buscar stored procedures en los libros en pantalla de sql server.
O también puedes revisar estas ligas que me sirvieron como Guia para Responderte.
http://www.4guysfromrolla.com/webtech/111499-1.shtml
http://databases.about.com/od/sqlserver/l/aastoredprocs.htm
Saludos
Publicar un comentario en la entrada
<< Home