Acceso a datos en Pocket

15/07/2003 - 09:19 por AOG | Informe spam
Estoy a cargo de un proyecto de facturación hecho en VB5 y
donde se almacenan los datos en base de datos MDB de
Access.
Tengo algunos clientes que usa mi facturación, y estos
necesitan tener un dispositivo movil para que sus
comerciales hagan los pedidos de sus clientes y estos
pedidos volcarlos a la facturación. Yo he pensado en
utilizar Pocket PC.

El lenguaje de programación para estos dispositovo voy a
usar VB.Net Compact Framework, pero no tengo claro donde
almacenar los datos en XML, en SQL SERVER CE... ya que
para mi esto es nuevo.
He consultado documentación y he visto algunos ejemplos en
XML.
He hecho pruebas con XML, ya que es facil de exportar MDB
a XML y a la inversa, usando ADO. En una prueba he creado
(exportar) un archivo XML apartir de la base de datos de
access de mi facturación, en concreto de la tabla
articulos, he codificado un pequeño proyecto de ejemplo en
vb.net para Pocket para mostar los artículos en este
dispositivo y todo correcto, el problema surge cuando he
exportado todos los artículos al fichero XML (6000
regitros) a probar en el pocket no me lo llega a cargar en
el dataset, se queda bloqueado o tarda mucho.
Si son pocos, si me lo carga (100 registros) en el XML
conforme añado más registro en el XML tarda más en cargar
en el dataset el fichero XML entre 3 0 4 minutos y en el
caso real 6000 registro se queda bloqueado o puede que
tarde mucho y esto no es viable. Estas son las rutinas que
empleo:
Dim ds As Data.DataSet
ds = New DataSet("Articulos")
Dim fs As New FileStream(RutaNombreXML.Trim, FileMode.Open)
Dim xr As New XmlTextReader(fs)
ds.ReadXml(xr)

También he pendado en usar archivos access para pocket CMD
pero no se como puedo conectar con D.B. de acces con
VB.net CF ya que tengo entendio que no exite ado en CF
(ADODB) almenos que yo sepa, para poder abrir (realizar
conexión) con una D.B. access CF (CDB).

Otra opción es SQL CE, pero no se como exportar, vamos,
pasar de mi facturación (base de datos MDB) a SQL CE para
usar en el Pocket y a la inversa importar de SQL CE a MDB
para ser recogido en mifactuación los pediso realizado en
el Pocket.

¿Que me aconsejais? y ¿comó lo podría hacer?

Gracias, un saludo.
 

Leer las respuestas

#1 Alejandro Mezcua
15/07/2003 - 10:12 | Informe spam
Hola.

La opción de XML en tu caso puede ser la más conveniente, pero ojo con
cargar tantos registros. Eso no es conveniente en ningún caso. Incluso
aunque con un PC te fuera bien, normalmente no deberías necesitar cargar
tantos registros en memoria.

¿Has probado a cargar sólo ciertos registros en lugar de leer en memoria
todo el archivo?

Un saludo,

Aleajandro Mezcua
MVP .NET
Zaltor Soluciones Informáticas

"AOG" wrote in message
news:081c01c34aa1$70785430$
Estoy a cargo de un proyecto de facturación hecho en VB5 y
donde se almacenan los datos en base de datos MDB de
Access.
Tengo algunos clientes que usa mi facturación, y estos
necesitan tener un dispositivo movil para que sus
comerciales hagan los pedidos de sus clientes y estos
pedidos volcarlos a la facturación. Yo he pensado en
utilizar Pocket PC.

El lenguaje de programación para estos dispositovo voy a
usar VB.Net Compact Framework, pero no tengo claro donde
almacenar los datos en XML, en SQL SERVER CE... ya que
para mi esto es nuevo.
He consultado documentación y he visto algunos ejemplos en
XML.
He hecho pruebas con XML, ya que es facil de exportar MDB
a XML y a la inversa, usando ADO. En una prueba he creado
(exportar) un archivo XML apartir de la base de datos de
access de mi facturación, en concreto de la tabla
articulos, he codificado un pequeño proyecto de ejemplo en
vb.net para Pocket para mostar los artículos en este
dispositivo y todo correcto, el problema surge cuando he
exportado todos los artículos al fichero XML (6000
regitros) a probar en el pocket no me lo llega a cargar en
el dataset, se queda bloqueado o tarda mucho.
Si son pocos, si me lo carga (100 registros) en el XML
conforme añado más registro en el XML tarda más en cargar
en el dataset el fichero XML entre 3 0 4 minutos y en el
caso real 6000 registro se queda bloqueado o puede que
tarde mucho y esto no es viable. Estas son las rutinas que
empleo:
Dim ds As Data.DataSet
ds = New DataSet("Articulos")
Dim fs As New FileStream(RutaNombreXML.Trim, FileMode.Open)
Dim xr As New XmlTextReader(fs)
ds.ReadXml(xr)

También he pendado en usar archivos access para pocket CMD
pero no se como puedo conectar con D.B. de acces con
VB.net CF ya que tengo entendio que no exite ado en CF
(ADODB) almenos que yo sepa, para poder abrir (realizar
conexión) con una D.B. access CF (CDB).

Otra opción es SQL CE, pero no se como exportar, vamos,
pasar de mi facturación (base de datos MDB) a SQL CE para
usar en el Pocket y a la inversa importar de SQL CE a MDB
para ser recogido en mifactuación los pediso realizado en
el Pocket.

¿Que me aconsejais? y ¿comó lo podría hacer?

Gracias, un saludo.

Preguntas similares