Exportar a Access

20/07/2007 - 08:32 por Aurelio Martínez Corchano | Informe spam
Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un fichero
Access?. El fichero se debe poder crear de forma dinámica, agregando sus
correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

Preguntas similare

Leer las respuestas

#1 Aurelio Martínez Corchano
20/07/2007 - 13:42 | Informe spam
Veo que nadie ha constestado todavía...
En definitiva lo que me interesaba era saber cómo crear un fichero access
válido en tiempo de ejecución, para exportar a él un conjunto de tablas.
He encontrado una solución y lo voy a compartir por si si alguien ha leido
el post y se ha quedado con la duda.

La librería Microsoft.Office.Interop.Access nos puede proporcionar la
funcionalidad necesaria para esta tarea (y muchas más).
Basta con añadir una referencia en nuesto proyecto al componente "Microsoft
Access 11.0 Object Library" que encontraremos en la pestaña COM.
Para crear un fichero access basta con ejecutar este par de instrucciones:

using Microsoft..Office.Interop.Access

.

ApplicationClass app = new
Microsoft.Office.Interop.Access.ApplicationClass();


app.NewCurrentDatabase(@"c:\a.mdb");


Y para volcar los datos al fichero, basta con utilizar las calses de
System.Data.OleDb

Si alguien conoce otra forma, sería estupendo compartirla

Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

"Aurelio Martínez Corchano" escribió en el mensaje
news:uj%23n$
Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un fichero
Access?. El fichero se debe poder crear de forma dinámica, agregando sus
correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos



Respuesta Responder a este mensaje
#2 Luis Miguel Blanco
20/07/2007 - 14:12 | Informe spam
Hola Aurelio

Ya veo en otro post tuyo que has encontrado una solución, no obstante, te
paso estas pruebas que he realizado por si te sirven.

Para crear dinámicamente un fichero Access, necesitas en primer lugar
establecer una referencia en tu proyecto al siguiente ensamblado:

Microsoft ADO Ext. 2.8 for DDL and Security

Cuando abras el cuadro de diálogo para añadir referencias, este ensamblado
lo debes buscar en la pestaña COM.

Una vez establecida la referencia, dentro del espacio de nombres ADOX,
deberás utilizar un objeto de la clase Catalog para crear el fichero Access.
Posteriormente, y ya empleando objetos del espacio de nombres OleDb, puedes
crear las tablas que necesites, y en función de como tengas la información
que quieres volcar en Access, utilizar por ejemplo objetos OleDbCommand para
insertar las filas en Access. En el siguiente bloque de código te pongo un
ejemplo para crear el fichero Access.

//
using System.Data.OleDb;
//
ADOX.Catalog catalogo = new ADOX.Catalog();
catalogo.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\pruebas\\MisDatos.mdb");

OleDbConnection conex = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\Pruebas\\MisDatos.mdb");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conex;
cmd.CommandText = "create table clientes " +
"(Codigo int,Nombre varchar(50))";

conex.Open();
cmd.ExecuteNonQuery();
conex.Close();

// a partir de aquí, si los datos que quieres pasar a Access
// los tienes por ejemplo en un DataSet, DataReader, etc, pues ya sería
// recorrer el objeto correspondiente e insertar los registros en Access
//
//

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Aurelio Martínez Corchano" wrote:

Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un fichero
Access?. El fichero se debe poder crear de forma dinámica, agregando sus
correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos




Respuesta Responder a este mensaje
#3 Aurelio Martínez Corchano
20/07/2007 - 14:30 | Informe spam
Hola Lius Miguel,

Parece una solución bastante similar a la que he encontrado yo, solo que
utilizando una librería distinta. Probaré de las dos formas, para ver cual
es más eficiente.

Un saludo y gracias por tu ayuda

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

"Luis Miguel Blanco" escribió
en el mensaje news:
Hola Aurelio

Ya veo en otro post tuyo que has encontrado una solución, no obstante, te
paso estas pruebas que he realizado por si te sirven.

Para crear dinámicamente un fichero Access, necesitas en primer lugar
establecer una referencia en tu proyecto al siguiente ensamblado:

Microsoft ADO Ext. 2.8 for DDL and Security

Cuando abras el cuadro de diálogo para añadir referencias, este ensamblado
lo debes buscar en la pestaña COM.

Una vez establecida la referencia, dentro del espacio de nombres ADOX,
deberás utilizar un objeto de la clase Catalog para crear el fichero
Access.
Posteriormente, y ya empleando objetos del espacio de nombres OleDb,
puedes
crear las tablas que necesites, y en función de como tengas la información
que quieres volcar en Access, utilizar por ejemplo objetos OleDbCommand
para
insertar las filas en Access. En el siguiente bloque de código te pongo un
ejemplo para crear el fichero Access.

//
using System.Data.OleDb;
//
ADOX.Catalog catalogo = new ADOX.Catalog();
catalogo.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=C:\\pruebas\\MisDatos.mdb");

OleDbConnection conex = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\\Pruebas\\MisDatos.mdb");
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conex;
cmd.CommandText = "create table clientes " +
"(Codigo int,Nombre varchar(50))";

conex.Open();
cmd.ExecuteNonQuery();
conex.Close();

// a partir de aquí, si los datos que quieres pasar a Access
// los tienes por ejemplo en un DataSet, DataReader, etc, pues ya sería
// recorrer el objeto correspondiente e insertar los registros en Access
//
//

Espero que te sea de utilidad.

Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Aurelio Martínez Corchano" wrote:

Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un
fichero
Access?. El fichero se debe poder crear de forma dinámica, agregando sus
correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos




Respuesta Responder a este mensaje
#4 [Juanjo]
20/07/2007 - 19:01 | Informe spam
Hola:

Has probado a ejecutar ese codigo en un ordenador que no tenga instalado
el Access?
Es posible que no te vaya.

Un saludo
"Aurelio Martínez Corchano" escribió en el mensaje
news:
Veo que nadie ha constestado todavía...
En definitiva lo que me interesaba era saber cómo crear un fichero access
válido en tiempo de ejecución, para exportar a él un conjunto de tablas.
He encontrado una solución y lo voy a compartir por si si alguien ha leido
el post y se ha quedado con la duda.

La librería Microsoft.Office.Interop.Access nos puede proporcionar la
funcionalidad necesaria para esta tarea (y muchas más).
Basta con añadir una referencia en nuesto proyecto al componente
"Microsoft Access 11.0 Object Library" que encontraremos en la pestaña
COM.
Para crear un fichero access basta con ejecutar este par de instrucciones:

using Microsoft..Office.Interop.Access

.

ApplicationClass app = new
Microsoft.Office.Interop.Access.ApplicationClass();


app.NewCurrentDatabase(@"c:\a.mdb");


Y para volcar los datos al fichero, basta con utilizar las calses de
System.Data.OleDb

Si alguien conoce otra forma, sería estupendo compartirla

Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

"Aurelio Martínez Corchano" escribió en el mensaje
news:uj%23n$
Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un
fichero Access?. El fichero se debe poder crear de forma dinámica,
agregando sus correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos







Respuesta Responder a este mensaje
#5 Aurelio Martínez Corchano
23/07/2007 - 08:15 | Informe spam
No lo he probado, y puede que lleves razón. Tendré que ver de donde viene la
librería que uso para crear el fichero Access.

Gracias por tu ayuda.

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

"[Juanjo]" escribió en el mensaje
news:%23JRN1%
Hola:

Has probado a ejecutar ese codigo en un ordenador que no tenga
instalado el Access?
Es posible que no te vaya.

Un saludo
"Aurelio Martínez Corchano" escribió en el mensaje
news:
Veo que nadie ha constestado todavía...
En definitiva lo que me interesaba era saber cómo crear un fichero access
válido en tiempo de ejecución, para exportar a él un conjunto de tablas.
He encontrado una solución y lo voy a compartir por si si alguien ha
leido el post y se ha quedado con la duda.

La librería Microsoft.Office.Interop.Access nos puede proporcionar la
funcionalidad necesaria para esta tarea (y muchas más).
Basta con añadir una referencia en nuesto proyecto al componente
"Microsoft Access 11.0 Object Library" que encontraremos en la pestaña
COM.
Para crear un fichero access basta con ejecutar este par de
instrucciones:

using Microsoft..Office.Interop.Access

.

ApplicationClass app = new
Microsoft.Office.Interop.Access.ApplicationClass();


app.NewCurrentDatabase(@"c:\a.mdb");


Y para volcar los datos al fichero, basta con utilizar las calses de
System.Data.OleDb

Si alguien conoce otra forma, sería estupendo compartirla

Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos

"Aurelio Martínez Corchano" escribió en el mensaje
news:uj%23n$
Hola a todo el mundo,

Alguien sabe cómo exportar un conjunto de tablas y resultados a un
fichero Access?. El fichero se debe poder crear de forma dinámica,
agregando sus correspondientes tablas en tiempo de ejecución.

Gracias antes de nada.
Saludos

Aurelio Martínez Corchano
Especialista Software - Alhambra-Eidos











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