Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/10/2012, 21:14
Avatar de SPAWN3000
SPAWN3000
 
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 2 meses
Puntos: 15
Respuesta: Dudas sobre SQLConnection y DBConnection

Que tal drako_darpan, bueno realmente muchas gracias por tu respuesta.

ODBCConnection es realmente lo que muchos lenguajes han utilizado para homogeneizar la conexión y programación ante un proveedor de DB. Sin embargo DBConnection no es exactamente ODBCConnection. DBConnection es un generico nativo y básico sistema de conexión derivado de ADO.net, donde se crea una fábrica de objetos acorde al motor de base de datos que se planea utilizar.

Un ejemplo:
DbProviderFactory factory = DbProviderFactories.GetFactory("IBM.Data.Informix" );
Le informo que estere aplicando infomix como proveedor de base de datos.

Los problemas que mencionas con ODBC, es que realmente este sistema es muy viejo y en la mayoría de veces desaconsejado debido a su bajo rendimiento principalmente...que lo hace más lento que los demás?? Que es un sistema conocido como conexión por puente para lo cual se necesita un controlador intermedio que establece un enlace entre tu aplicación y la base de datos que utilizas. Y el paso de toda petición por este puente es lo debilita el proceso.
Ahora, para el caso puntual que comentas te puedo compartir algo de experiencia y he trabajado con Stored Procedures que tardan mas de 5 horas y retornan al rededor de 11 millones de registros y hasta ahora todo funciona... a pesar de ser sobre el tan criticado y justiciado vb6.

Ahora, es correcto que SqlConnection es el prototipo para SQL Server, sin embargo que sucede si necesitamos múltiples bases de datos de forma simultanea operando en una misma aplicacion, las cuales corren en dos servidores diferentes. Si se podría crear un objeto por cada una separados por un case y un parametro de tipo enumeración para que otro programador o el usuario seleccione el tipo de base al que desea establecer su conexión...pero esto deberia tener algún tipo de organización y obedecer algún patron estandar de programacion.

My duda aun sigue siendo...si DbConnection es ya una fábrica de conexiones(De ser asi no vale la pena sumarle (factory method o ningun otro) o es una simple clase para conexión a base de datos?? Pero para decidirlo necesito algo mas de documentacion sobre dbConnection que realmente no se encuentran mucha documentacion por google. Conocer su potencia, si es preferible el método nativo para cada clase o si con DbConnection ya incorpora estos propiedades. Y tranquilo no es problema como tú lo dices que estés en pañales, a mi manera de ver todos siempre estamos en continuo crecimiento y lo importante es mantener la mente abierta y el espíritu humilde....siempre habrá alguien mejor, y siempre alguien tendrá algo que enseñar.
Al igual llevo solo algunos días aprendiendo C#, lo mío eran otros lenguajes...pero creo que tarde un poco en decidirme por incluir a mi lista CSharp. Creo que me salieron cayos en los oídos de tanto escuchar hablar a mis compañeros de sus virtudes y grandezas. LLego el momento de formar mi propia opinión y espero toda la colaboración de uds en ello. Que porque pienso así, algunas veces en la U te topas con esos profesores con grandes aires de grandezas por tener un montón de cursos de 80 horas en su oficina, 30 libros echando polvo y un traje... donde te tratan como un chico estúpido el cual nunca llegara a igualar su nivel!!, y que aparte lo mejor de su conocimiento lo guardan para si con una actitud egoísta. Que mal!!

De antemano muchas gracias, cuídate

Última edición por SPAWN3000; 08/10/2012 a las 22:59