Foros del Web » Programación para mayores de 30 ;) » .NET »

Clases de acceso a datos.

Estas en el tema de Clases de acceso a datos. en el foro de .NET en Foros del Web. Buenas tardes foreros !!! ¿Conocen clases/proyectos/dlls que faciliten el acceso a datos para los distintos tipos de RBDMS? Vamos, lo que busco es una clase ...
  #1 (permalink)  
Antiguo 05/06/2008, 09:57
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Clases de acceso a datos.

Buenas tardes foreros !!!


¿Conocen clases/proyectos/dlls que faciliten el acceso a datos para los distintos tipos de RBDMS?

Vamos, lo que busco es una clase por ejmplo para trabajar con MySQL que usando el MySQLData de mysql.com me facilite el llamamiento de Procedimientos almacenados y demás.

Que me de métodos como:
LlamarProcedimientoLectura("nombreSP", objetoArrayParametros, objetoDataSet);
LlamarProcedimientoEscritura("nombreSP", objetoArrayParametros, numeroElementosAfectados);

Y claro, ese mismo proyecto me gustaría tenerlo para MySQL, para PostgreSQL, para SqlServer (Ya sé que está el ApplicationBlocks, pongo este para poner mas ejemplos).

En fin, lo que busco es eso, un ApplicationBolcks para cada tipo de proveedor. Si lo conocen les agradecería me dijeran...

Saludos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 05/06/2008, 10:23
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
Respuesta: Clases de acceso a datos.

Los ApplicationBolcks son bastánte útiles pero lo que se está utilizando con mayor interes por parte de las propuestas de microsoft son los Enterprise Libraries, claro se tiene inicialmente para trabajar con Sql Server pero tienes acceso al code para adaptarlo a otros RBDMS

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 06/06/2008, 03:01
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Clases de acceso a datos.

jejeje, Gracias RootK, veo que no me quedará otro remedio que reescribirlas para los demás RBDMS.

Les hecharé un ojo !!!

Saludos.
__________________
Charlie.
  #4 (permalink)  
Antiguo 06/06/2008, 08:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 3 meses
Puntos: 50
Respuesta: Clases de acceso a datos.

Cita:
no me quedará otro remedio que reescribirlas para los demás RBDMS.
así es my friend

Pero creeme que te sirve bastante hacer ese tipo de compatibilidades, ya que después cuando hagas para otras aplicaciones ya no vas a tener problema con la BD que estés usando porque todos tus objetos trabarían de la misma forma

Por ejemplo si tuvieras una aplicacion hecha en MySQL y piensan migrar a SQL Server no vas a tener que cambiar ninguna línea de tu código, solamente trabajarías en migrara los datos, sp, etc

Salu2
  #5 (permalink)  
Antiguo 09/06/2008, 00:51
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Clases de acceso a datos.

Si, si, lo sé, lo sé. Por eso quiero hacerlo. De hecho, ya la tengo con MySQL, Sql Server y la primera Beta de PostgreSQL.

Lo que me gustaría saber es su opinión sobre como lo estoy haciendo, creo que es lo correcto, pero me gustaría saber sus opiniones.

Verán hice los siguientes pasos:
- Diseñe una Interfaz donde especifico que métodos y propiedades tienen que tener las clases. Entre los métodos están:
EjecutarSql(DataTable tbDatos, String txtConsulta);
EjecutarSql(DataSet dsDatos, String txtConsulta);
EjecutarSPLectura(DataTabla tbDatos, String nombreSP);
EjecutarSPLectura(DataTabla tbDatos, String nombreSP, ClsParametros objParametros);
etc.....

- Luego diseñe las clases de acceso a datos para cada tipo. La Clase de MySQL, tiene los parametros arriba indicados y usa de MySql.Data. La de PostgreSQL usa de NpgSQL, etc...

- Ok, ya tengo las diferentes clases para acceso a datos de SqlServer, MySQL y Postgre.

- Ahora he creado una clase intermedia, que también implementa la interfaz, que es la encargada, mediante reflexión de cargar una clase u otra.

Asi, yo en mis proyectos usaré esa clase y dependiendo de la base de datos, solo cambiaré el fichero de configuración y subiré y quitaré una .dll. Sin tener que agregar o quitar referencias al código y evitar el tener que publicar...

¿Qué les parece?, ¿Es una forma correcta?, ¿Lo ven óptimo?, yo creo que es una buena idea para evitarse recompilaciones y demás... en fin, espero sus opiniones. Saludos.
__________________
Charlie.
  #6 (permalink)  
Antiguo 10/06/2008, 14:45
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Clases de acceso a datos.

Podrías compartirla a la comunidad :D
  #7 (permalink)  
Antiguo 11/06/2008, 23:19
 
Fecha de Ingreso: junio-2008
Mensajes: 8
Antigüedad: 15 años, 11 meses
Puntos: 0
Información Respuesta: Clases de acceso a datos.

hola yo estoy en la misma situación ... estoy creando un proyecto open source el cual quiero que sea compatible con n bases de datos y busco una libreria como los aplicaction que me permitan hacerlo... se que utilizado odbc puedo acceder a varias bases de datos pero falta la libreria...

de paso les invito a participar de el proyecto que estoy recien lanzando
http://code.google.com/p/crmos/


www.marcosdonoso.cl
  #8 (permalink)  
Antiguo 12/06/2008, 00:55
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Respuesta: Clases de acceso a datos.

Buenas Bequick, creo que con las ApplicationBlocks puedes agregar proyectos de MySQL, PostgreSQL y demás.... hay ejemplos por Codeproject.

Resultan muy interesantes, la verdad, lo que pasa es que yo quería hacerlo desde cero. Si estas en la misma situación que yo... pues olvida lo que te dije, si necesitas pronto una solución, te recomiendo heches un vistazo a Codeproject.

Hablamos. Un saludo.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:56.