Crear base de datos

11/07/2006 - 15:28 por .:: MaStErDoN ::. | Informe spam
Hola.. estoy trabajando en una aplicacion que maneja varias base de datos
pero todas con la misma estructura..
el tema es que tengo un Dataset ya definido en tiempo de diseño y quisiera
saber si hay alguna maner automaticamente de crear un base de datos de
access en funcion de esa estructura

Gracias
Andres

Preguntas similare

Leer las respuestas

#1 SoftJaén
11/07/2006 - 18:09 | Informe spam
".:: MaStErDoN ::." escribió:

el tema es que tengo un Dataset ya definido en tiempo de diseño y
quisiera saber si hay alguna maner automaticamente de crear una
base de datos de access en funcion de esa estructura



Hola, Andrés:

Que yo sepa, para crear una base de datos Microsoft Access mediante código
fuente, deberás de recurrir a la biblioteca de ADOX usando la
interoperabilidad COM del marco de trabajo de .net. En el siguiente enlace,
te explico cómo puedes crearla:

Cómo crear una nueva base de datos Microsoft Access
http://mvp-access.com/softjaen/base...onet05.htm

Una vez creado el archivo físico, otra cosa distinta es cómo puedes
traspasar los datos del DataSet a una tabla de la base de datos.

Lo más fácil es crear un archivo de texto delimitado que posteriormente
podrás importar a la base de datos de Access mediante el ISAM de Texto. Aquí
encontrarás un ejemplo:

Cómo crear un archivo de texto delimitado con los datos existentes en un
DataSet
http://mvp-access.com/softjaen/base...onet09.htm

Por último, un poco más complicado sería crear un documento XML con los
datos del DataSet, pero necesitarías tener un sitio web, donde se estuvieran
ejecutando los servicios de Microsoft SharePoint para importar el documento
a la base de datos de Access, si para ello utilizas el propio Asistente de
Microsoft Access 2003.

No obstante, si deseas conocer cómo puedes crear el documento XML, échale un
vistazo al siguiente enlace:

Cómo crear un archivo XML con los datos de un objeto DataSet
http://mvp-access.com/softjaen/base...onet11.htm

Una vez creado el documento XML, puedes abrirlo desde Microsoft Excel, y
crear un libro de trabajo que posteriormente podrás importar/exportar a la
base de Access, utilizando el ISAM de Excel que nos proporciona el motor
Microsoft Jet.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 .:: MaStErDoN ::.
11/07/2006 - 20:20 | Informe spam
muchas gracias por tu interes.. lo intentare y cualquier cosa consulto..

gracias de nuevo
Andres

"SoftJaén" escribió en el mensaje
news:
".:: MaStErDoN ::." escribió:

el tema es que tengo un Dataset ya definido en tiempo de diseño y
quisiera saber si hay alguna maner automaticamente de crear una
base de datos de access en funcion de esa estructura



Hola, Andrés:

Que yo sepa, para crear una base de datos Microsoft Access mediante código
fuente, deberás de recurrir a la biblioteca de ADOX usando la
interoperabilidad COM del marco de trabajo de .net. En el siguiente
enlace,
te explico cómo puedes crearla:

Cómo crear una nueva base de datos Microsoft Access
http://mvp-access.com/softjaen/base...onet05.htm

Una vez creado el archivo físico, otra cosa distinta es cómo puedes
traspasar los datos del DataSet a una tabla de la base de datos.

Lo más fácil es crear un archivo de texto delimitado que posteriormente
podrás importar a la base de datos de Access mediante el ISAM de Texto.
Aquí
encontrarás un ejemplo:

Cómo crear un archivo de texto delimitado con los datos existentes en un
DataSet
http://mvp-access.com/softjaen/base...onet09.htm

Por último, un poco más complicado sería crear un documento XML con los
datos del DataSet, pero necesitarías tener un sitio web, donde se
estuvieran
ejecutando los servicios de Microsoft SharePoint para importar el
documento
a la base de datos de Access, si para ello utilizas el propio Asistente de
Microsoft Access 2003.

No obstante, si deseas conocer cómo puedes crear el documento XML, échale
un
vistazo al siguiente enlace:

Cómo crear un archivo XML con los datos de un objeto DataSet
http://mvp-access.com/softjaen/base...onet11.htm

Una vez creado el documento XML, puedes abrirlo desde Microsoft Excel, y
crear un libro de trabajo que posteriormente podrás importar/exportar a la
base de Access, utilizando el ISAM de Excel que nos proporciona el motor
Microsoft Jet.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o
sugerido en el presente mensaje.

Respuesta Responder a este mensaje
#3 .:: MaStErDoN ::.
11/07/2006 - 20:26 | Informe spam
aguarda!

el tema del "archivo delimitador" no es lol que busco..
mi idea era copiar toda la estructura del dataset.. no los datos..
veo que tendre que recurrir a escribir el codigo para cada tabla.. el
"problema" es que la aplicacion esta en desarrollo y por lo tanto se agregan
tablas.. campos .. relaciones.. y se volveria tedioso modificar tambien la
lineas de la creacion de la base de datos cada vez que haga algun cambio en
el dataset..
no es cuestion de vagancia sino de limpiezo y seguridad.. para disminuir la
probabilidades del error..

GRacias
Andres

"SoftJaén" escribió en el mensaje
news:
".:: MaStErDoN ::." escribió:

el tema es que tengo un Dataset ya definido en tiempo de diseño y
quisiera saber si hay alguna maner automaticamente de crear una
base de datos de access en funcion de esa estructura



Hola, Andrés:

Que yo sepa, para crear una base de datos Microsoft Access mediante código
fuente, deberás de recurrir a la biblioteca de ADOX usando la
interoperabilidad COM del marco de trabajo de .net. En el siguiente
enlace,
te explico cómo puedes crearla:

Cómo crear una nueva base de datos Microsoft Access
http://mvp-access.com/softjaen/base...onet05.htm

Una vez creado el archivo físico, otra cosa distinta es cómo puedes
traspasar los datos del DataSet a una tabla de la base de datos.

Lo más fácil es crear un archivo de texto delimitado que posteriormente
podrás importar a la base de datos de Access mediante el ISAM de Texto.
Aquí
encontrarás un ejemplo:

Cómo crear un archivo de texto delimitado con los datos existentes en un
DataSet
http://mvp-access.com/softjaen/base...onet09.htm

Por último, un poco más complicado sería crear un documento XML con los
datos del DataSet, pero necesitarías tener un sitio web, donde se
estuvieran
ejecutando los servicios de Microsoft SharePoint para importar el
documento
a la base de datos de Access, si para ello utilizas el propio Asistente de
Microsoft Access 2003.

No obstante, si deseas conocer cómo puedes crear el documento XML, échale
un
vistazo al siguiente enlace:

Cómo crear un archivo XML con los datos de un objeto DataSet
http://mvp-access.com/softjaen/base...onet11.htm

Una vez creado el documento XML, puedes abrirlo desde Microsoft Excel, y
crear un libro de trabajo que posteriormente podrás importar/exportar a la
base de Access, utilizando el ISAM de Excel que nos proporciona el motor
Microsoft Jet.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
o
sugerido en el presente mensaje.

Respuesta Responder a este mensaje
#4 SoftJaén
11/07/2006 - 20:52 | Informe spam
".:: MaStErDoN ::." escribió:

el tema del "archivo delimitador" no es lol que busco..
mi idea era copiar toda la estructura del dataset.. no los datos..



Si sólo deseas copiar la estructura, adapta el ejemplo que te he indicado
para que solamente te incluya los nombres de las columnas.

Una vez creado el archivo de texto, lo abres mediante el proveedor de datos
Ole Db .net, y ejecutas una consulta SQL de creación de tabla (SELECT *
INTO), para crear la tabla en la base de datos de Access.

Te dejo un ejemplo que importa a una base de Access un archivo de texto
mediante Visual Basic .net. Si el archivo no tiene datos, la tabla se creará
solamente con el nombre de los campos:

Dim cnn As New OleDbConnection
Dim cmd As New OleDbCommand
Dim sql As String

' Abrimos la conexión con la base de Access
cnn.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;" & _
"Data Source=C:\Mis documentos\bd1.mdb;"
cnn.Open()

' Construimos la consulta SQL
sql = "SELECT * INTO [Mi_Tabla] FROM " & _
"[Archivo_Texto#txt] IN ''[TEXT;DATABASE=C:\Mis documentos]"

' Importamos los datos
With cmd
.Connection = cnn
.CommandText = sql
.ExecuteNonQuery()
End With

' Cerramos la conexión
cnn.Close()
cnn = Nothing

Si deseas conocer más sobre el ISAM de texto, consulta el siguiente artículo
técnico:

Trabajar con los datos de un archivo de texto
http://mvp-access.com/softjaen/arti...t_isam.htm

veo que tendre que recurrir a escribir el codigo para cada tabla.. el
"problema" es que la aplicacion esta en desarrollo y por lo tanto se
agregan tablas.. campos .. relaciones.. y se volveria tedioso modificar
tambien la lineas de la creacion de la base de datos cada vez que haga
algun cambio en el dataset.
no es cuestion de vagancia sino de limpiezo y seguridad.. para disminuir
la probabilidades del error..



¿El objeto DataSet es dinámico? Quiero decir, ¿si los objetos DataTable no
tienen siempre la misma estructura? Te lo pregunto porque si un objeto
DataTable contiene unas veces cinco columnas, y otras veces veinte columnas,
la verdad es que va a ser un poco complicado llevar a cabo la tarea de crear
la tabla en la base de Access.

He estado haciendo unas pruebas con la beta 2 del nuevo Microsoft Access
2007, y la importación de un documento XML a la base de Access, es una tarea
de «coser y cantar»; es como si importaras los datos de otro archivo de
Access. Te lo comento para que lo tengas presente para un futuro próximo,
que será cuando aparezca la versión definitiva de Microsoft Access 2007. :-)

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#5 Jesús López
12/07/2006 - 09:36 | Informe spam
Yo, en vez de crear la base de datos por código, crearía una base de datos
Plantilla.mdb usando los diseñadores de Access, y cada vez que necesite una
base de datos nueva, simplemente copiaría el archivo Plantilla.mdb. Creo que
esta solución es mucho más sencilla y no requiere escribir apenas código.


Saludos:

Jesús López


".:: MaStErDoN ::." escribió:

aguarda!

el tema del "archivo delimitador" no es lol que busco..
mi idea era copiar toda la estructura del dataset.. no los datos..
veo que tendre que recurrir a escribir el codigo para cada tabla.. el
"problema" es que la aplicacion esta en desarrollo y por lo tanto se agregan
tablas.. campos .. relaciones.. y se volveria tedioso modificar tambien la
lineas de la creacion de la base de datos cada vez que haga algun cambio en
el dataset..
no es cuestion de vagancia sino de limpiezo y seguridad.. para disminuir la
probabilidades del error..

GRacias
Andres

"SoftJaén" escribió en el mensaje
news:
> ".:: MaStErDoN ::." escribió:
>
>> el tema es que tengo un Dataset ya definido en tiempo de diseño y
>> quisiera saber si hay alguna maner automaticamente de crear una
>> base de datos de access en funcion de esa estructura
>
> Hola, Andrés:
>
> Que yo sepa, para crear una base de datos Microsoft Access mediante código
> fuente, deberás de recurrir a la biblioteca de ADOX usando la
> interoperabilidad COM del marco de trabajo de .net. En el siguiente
> enlace,
> te explico cómo puedes crearla:
>
> Cómo crear una nueva base de datos Microsoft Access
> http://mvp-access.com/softjaen/base...onet05.htm
>
> Una vez creado el archivo físico, otra cosa distinta es cómo puedes
> traspasar los datos del DataSet a una tabla de la base de datos.
>
> Lo más fácil es crear un archivo de texto delimitado que posteriormente
> podrás importar a la base de datos de Access mediante el ISAM de Texto.
> Aquí
> encontrarás un ejemplo:
>
> Cómo crear un archivo de texto delimitado con los datos existentes en un
> DataSet
> http://mvp-access.com/softjaen/base...onet09.htm
>
> Por último, un poco más complicado sería crear un documento XML con los
> datos del DataSet, pero necesitarías tener un sitio web, donde se
> estuvieran
> ejecutando los servicios de Microsoft SharePoint para importar el
> documento
> a la base de datos de Access, si para ello utilizas el propio Asistente de
> Microsoft Access 2003.
>
> No obstante, si deseas conocer cómo puedes crear el documento XML, échale
> un
> vistazo al siguiente enlace:
>
> Cómo crear un archivo XML con los datos de un objeto DataSet
> http://mvp-access.com/softjaen/base...onet11.htm
>
> Una vez creado el documento XML, puedes abrirlo desde Microsoft Excel, y
> crear un libro de trabajo que posteriormente podrás importar/exportar a la
> base de Access, utilizando el ISAM de Excel que nos proporciona el motor
> Microsoft Jet.
>
> Un saludo
>
> Enrique Martínez
> [MS MVP - VB]
>
> Nota informativa: La información contenida en este mensaje, así como el
> código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
> garantías de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado
> o
> sugerido en el presente mensaje.
>



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