Camino a seguir para el acceso a datos

21/01/2008 - 17:51 por Jose Plus42 | Informe spam
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...)
aunque centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo,
aunque puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero
no tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni
matar moscas a cañonazos.

Gracias por su ayuda.

Preguntas similare

Leer las respuestas

#1 Erick \(foxero\)
21/01/2008 - 18:24 | Informe spam
Si has usado Sql server con VFP y tal vez con sql pass through puede que no
te sea tan complicado.
Asumiendo eso, para un foxero aunque da trabajo acostumbrarse a .NET ya que
hay que escribir mucho mas codigo, creo que puedes manejar tus datos muy
bien con ADO.NET es decir usando DataSets, DataTables, DataAdapters,
CommandBuilders, etc.
Puedes ir viendo ejemplos en la ayuda o en los mensajes de foros en google.
No creo que te haga falta usar webservices en lo absoluto para lo que
quieres.
Si tienes la version nueva tambien existe el LinQ aunque a mi todavia no me
convence mucho para tratar con datos. Yo he preferido ir haciendo todo con
Ado.net como te dije. Poco o poco vas armando tus rutinas personalizadas
reutilizables para simplificarte el trabajo.

Saludos

"Jose Plus42" escribió en el mensaje
news:
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...) aunque
centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo, aunque
puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero no
tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni matar
moscas a cañonazos.

Gracias por su ayuda.
Respuesta Responder a este mensaje
#2 Jose Plus42
21/01/2008 - 18:35 | Informe spam
La cuestión es que nunca utilizé el Fox con SQL Server. Siempre utilizé
las tablas nativas de fox. Quizás por eso esté tan perdido...

Erick (foxero) escribió:
Si has usado Sql server con VFP y tal vez con sql pass through puede que no
te sea tan complicado.
Asumiendo eso, para un foxero aunque da trabajo acostumbrarse a .NET ya que
hay que escribir mucho mas codigo, creo que puedes manejar tus datos muy
bien con ADO.NET es decir usando DataSets, DataTables, DataAdapters,
CommandBuilders, etc.
Puedes ir viendo ejemplos en la ayuda o en los mensajes de foros en google.
No creo que te haga falta usar webservices en lo absoluto para lo que
quieres.
Si tienes la version nueva tambien existe el LinQ aunque a mi todavia no me
convence mucho para tratar con datos. Yo he preferido ir haciendo todo con
Ado.net como te dije. Poco o poco vas armando tus rutinas personalizadas
reutilizables para simplificarte el trabajo.

Saludos

"Jose Plus42" escribió en el mensaje
news:
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...) aunque
centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo, aunque
puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero no
tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni matar
moscas a cañonazos.

Gracias por su ayuda.




Respuesta Responder a este mensaje
#3 Jesús López
21/01/2008 - 18:38 | Informe spam
Para una aplicación de 5 a 10 usuarios sería suficiente con SQL Server 2005
Express. Además yo no me complicaría la vida metiendo middle tiers como web
services o WCF, eso sería en el caso de cientos o miles de usuarios, o que
se necesitara acceder por Internet, pero tu tienes pocos usuarios y están en
red local, así que lo más apropiado es una arquitectura cliente-servidor
clásica.

Luego, en cuanto al acceso a datos desde la aplicación cliente al servidor
de base de datos, hay bastantes opciones:

1) ADO.NET directo.
2) LINQ to SQL
3) ORM's como NHibernate.


Si optas por ADO.NET directo todavía tienes que decidir entre usar alguno de
estos modelos:

1) Datasets + DataAdapters.
2) Colecciones de entidades de negocio propias cargadas mediante datareaders
y ejecución directa de sentencias SQL.

También tienes que decidir si te vas a decantar por:

1) Procedimientos almacenados
2) Código SQL incrustado en la aplicación.

Si optas por LINQ to SQL tienes la ventaja de la facilidad de uso, pero
olvídate de que el acceso principal a la base de datos sea por
procedimientos almacenados.


Discutir en profundidad todas las opciones sería demasiado largo. Sólo
decirte que cualquiera de las opciones es válida, personalmente la opción
que más me gusta es la de usar ADO.NET directo, con colecciones de entidades
de negocio propias y acceso a la base de datos por procedimientos
almacenados. Sin embargo esta opción requiere escribir mucho código, a no
ser que tengas generadores de código para generar las entidades de negocio y
las clases de acceso a datos.


Quizá la opción más productiva sea la de LINQ aunque tiene el inconveniente
de que pierdes el control de como se accede a los datos.


Saludos:

Jesús López
www.solidq.com




"Jose Plus42" escribió en el mensaje
news:
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...) aunque
centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo, aunque
puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero no
tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni matar
moscas a cañonazos.

Gracias por su ayuda.
Respuesta Responder a este mensaje
#4 E.CORTIJO
22/01/2008 - 17:30 | Informe spam
Intenta suscribirte a news.defoxa.com alli conseguiras el grupo C# donde
estamos todos aquellos en transición y podriamos ayudarte.

E.C.
"Jose Plus42" escribió en el mensaje
news:
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...) aunque
centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo, aunque
puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero no
tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni matar
moscas a cañonazos.

Gracias por su ayuda.
Respuesta Responder a este mensaje
#5 Jose Plus42
23/01/2008 - 11:19 | Informe spam
Uff... tu respuesta me sirve para ilustrar la gran cantidad de opciones
y decisiones a tomar, y lo perdido que puede llegar a estar uno.

Voy a intentar centrarme en ADO.NET, metiendo el mayor código posible
(ya veré sobre la marcha exactamente cual) en procedimientos almacenados
y Triggers.

LINQ por lo que he leido aún está un poco verde.

Lo que no he entendido en lo de "Colecciones de entidades de negocio
propias cargadas mediante datareaders y ejecución directa de sentencias
SQL" ¿a qué te refieres exactamente?

Un saludo


Jesús López escribió:
Para una aplicación de 5 a 10 usuarios sería suficiente con SQL Server 2005
Express. Además yo no me complicaría la vida metiendo middle tiers como web
services o WCF, eso sería en el caso de cientos o miles de usuarios, o que
se necesitara acceder por Internet, pero tu tienes pocos usuarios y están en
red local, así que lo más apropiado es una arquitectura cliente-servidor
clásica.

Luego, en cuanto al acceso a datos desde la aplicación cliente al servidor
de base de datos, hay bastantes opciones:

1) ADO.NET directo.
2) LINQ to SQL
3) ORM's como NHibernate.


Si optas por ADO.NET directo todavía tienes que decidir entre usar alguno de
estos modelos:

1) Datasets + DataAdapters.
2) Colecciones de entidades de negocio propias cargadas mediante datareaders
y ejecución directa de sentencias SQL.

También tienes que decidir si te vas a decantar por:

1) Procedimientos almacenados
2) Código SQL incrustado en la aplicación.

Si optas por LINQ to SQL tienes la ventaja de la facilidad de uso, pero
olvídate de que el acceso principal a la base de datos sea por
procedimientos almacenados.


Discutir en profundidad todas las opciones sería demasiado largo. Sólo
decirte que cualquiera de las opciones es válida, personalmente la opción
que más me gusta es la de usar ADO.NET directo, con colecciones de entidades
de negocio propias y acceso a la base de datos por procedimientos
almacenados. Sin embargo esta opción requiere escribir mucho código, a no
ser que tengas generadores de código para generar las entidades de negocio y
las clases de acceso a datos.


Quizá la opción más productiva sea la de LINQ aunque tiene el inconveniente
de que pierdes el control de como se accede a los datos.


Saludos:

Jesús López
www.solidq.com




"Jose Plus42" escribió en el mensaje
news:
Toca ir cambiando una aplicación realizada en Visual FoxPro a C# y .Net.

¿Pueden aconsejarme sobre que dirección seguir?

La aplicación tiene las siguientes características:
-Es una aplicación de "Gestión" (clientes, facturas, tesorería,...) aunque
centrada en un sector específico.
-Debe trabajar en red local, normalmente sólo 1 usuario simultáneo, aunque
puede haber instalaciones con más (pero siempre números pequeños,
raramente superará los 5, y probablemente nunca llegue a 10).

Hasta ahora trabajaba con tablas libres de Fox perfectamente.

Para la base de datos había pensado que SQL Express es suficiente, pero no
tengo claro como abordarlo. No se si utilizar WebServices, acceder
directamente a la base de datos desde los clientes, meter más o menos
código en procedimientos almacenados, ...

Llevo unas semanas empapándome del lenguaje, pero lo cierto es que en el
acceso a datos estoy bastante perdido. No quisiera quedarme corto ni matar
moscas a cañonazos.

Gracias por su ayuda.




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida