Buenos días:
Siempre he trabajado con BD de Access y es la primera vez que trabajo con
SQL Server.
Tengo una Aplicación de Gestión programada en VB6 con bases de datos de
Access.
Debido al tamaño que están adquiriendo la bases de datos estoy cambiándolo a
SQL Server 2005 Express.
Los listados e informes están hechos con Crystal Report 9.
Para hacer los informes tengo una base de datos en cada ordenador de los
usuarios llamada Informes.mdb donde creo tablas para guardar los registros
que luego leerá Crystal para imprimir.
Estoy haciendo algo parecido a esto para grabar en la BD de Informes.mdb,
pero va muy lento:
Dim sCNXInformes as string
Dim cnInfomes as New adodb.conection
sCNXInformes = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data
Source=C:eport\informes.mdb;"
cnInformes.Open cnxString
Dim sCNXSQL1 as string
Dim sCNXSQL2 as string
sCNXSQL1 = "ODBC;Driver={SQL Server};Server=SERVIDOR;Database=BaseDeDatos1"
sCNXSQL2 = "ODBC;Driver={SQL Server};Server=SERVIDOR;Database=BaseDeDatos2"
Dm sql as string
sql = "INSERT INTO Tabla (Campo1, Campo2, Campo3) " & _
"SELECT B1.Campo1, B2.Campo2, B2.Campo3 " & _
"FROM [" & sCNXSQL1 & "].TablaBD1 AS B1 " & _
"INNER JOIN [" & sCNXSQL2 & "].TablaBD2 AS B2 " &_
"ON B1.CampoX = B2.CampoY"
cnInformes.Execute sql
¿Alguien sabe alguna otra manera de hacer algo parecido a lo anterior, pero
que vaya más rápido?. Yo creo que puede ir lento por utilizar la conexión de
access (cnInformes) para ejecutar la consulta de acción.
Gracias.
Leer las respuestas