DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Provider Factories

Por gcubillo | 11/19/2005 | Visitas 12,072 | Voto 3.00
El presente es un ejemplo de como utilizar un nuevo patrón definido en ADO.Net 2.0 para administrar nuestras conexiones con base de datos.
Categorías : VB.NET, C#, SQL Server
Este nuevo patrón utiliza la clase abstracta DbProviderFactory que expone los métodos de conexión a base de datos y manejo de datos, y que los proveedores comunes se encargan de implementar, además, utiliza la clase DbProviderFactories para obtener el objeto provider de acuerdo al provider determinado por la aplicación.

Esto nos permite diseñar aplicaciones que puedan estar basadas en diferentes tipos de Bases de datos (Sql Server, Oracla, etc.), y poder cambiar de una a otra de forma transparente, ya que al final se acceden a los datos con los métodos abstractos definidos por DbProviderFactories, y el DbProviderFactories mediante Reflection se encarga de retornar el provider requerido.

Basados en el archivo de configuración Web.Config
<?xml version="1.0"?>
<configuration
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="MyConnection"
connectionString="Data Source=(Local);
Initial Catalog=AdventureWorks;
Integrated Security=True"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>


Como podemos observar en el config le definimos el providerName, en este caso le indicamos que fuera SqlClient

Este método utiliza el nuevo patrón Provider Factory de ADO.Net 2.0 para cargar una lista de contactos

Utiliza la información de la configuracón de la conexión que esta en Web.Config

IDataReader dbreader = null;
DbProviderFactory dbfactory = DbProviderFactories.GetFactory(
ConfigurationManager.ConnectionStrings[
"MyConnection"].ProviderName);

IDbConnection dbconn = dbfactory.CreateConnection();

dbconn.ConnectionString =
ConfigurationManager.ConnectionStrings[
"MyConnection"].ConnectionString;

// Ejecuta los metodos de acuerdo al provider definido en el Web.Config

// No existe un solo comando "Nativo" de SqlClient, sin embargo lo que se esta

// ejecutando es el provider de SQL, a través de una clase abstracta DbProviderFactory.

dbconn.Open();

IDbCommand dbcomm = dbconn.CreateCommand();

dbcomm.Connection = dbconn;

dbcomm.CommandText = "SELECT Top 100 Title,FirstName,LastName,EmailAddress FROM Person.Contact";

dbreader = dbcomm.ExecuteReader(CommandBehavior.CloseConnection);

MyGrid.DataSource = dbreader;

MyGrid.DataBind();
Area de Comentarios
Por maietta1 - Fecha: 2006/05/30 05:55 PM
Hola, estoy desarrollando una aplicacion local, como hago para que esto funcione para conectarse con cualquier base de datos ???

Gracias.
Por Anónimo - Fecha: 2006/11/06 11:02 AM
que feo...
Por Anónimo - Fecha: 2007/06/21 03:04 PM
esta muy mal explicado..!
Por Anónimo - Fecha: 2007/08/22 08:42 PM
A pesar de que la documentacion del Codigo es un poco pobre, da una idea clara de como iniciar un Acceso a Datos Generico para una aplicacion de Acceso a multiples bases de datos.

Julian
Por Anónimo - Fecha: 2007/09/06 11:57 AM
como que le falta mas documentacion
Por Anónimo - Fecha: 2008/04/25 10:43 AM
gracias man,
si saben la teoria , entienden lo que el quiere explicar, sino les pasa como el anonimo que quedo como perdido,
Por Anónimo - Fecha: 2008/11/12 09:38 AM
una mejor explicacion del patron provider
http://geeks.ms/blogs/mjimenez/archive/2006/12/01/provider-pattern-guia-pr-ctica-para-desacopla-aplicacones-net-2-0.aspx
Por Anónimo - Fecha: 2012/04/26 01:18 AM
Dear Gohar,Unfortunately, the job Opportunity is available for dpeeloevrs who resident in Gaza/Palestine only.Please keep looking on the blog for any future remote Delphi jobs.
Por Anónimo - Fecha: 2012/04/27 07:10 AM
dTkuaZ , [url=http://myabypqnntpx.com/]myabypqnntpx[/url], [link=http://exqserncyizp.com/]exqserncyizp[/link], http://ecgfejewiehv.com/
Por Anónimo - Fecha: 2012/04/27 07:11 AM
dTkuaZ , [url=http://myabypqnntpx.com/]myabypqnntpx[/url], [link=http://exqserncyizp.com/]exqserncyizp[/link], http://ecgfejewiehv.com/
Por Anónimo - Fecha: 2012/04/28 01:01 PM
s2MfWV , [url=http://cwsqspefluqj.com/]cwsqspefluqj[/url], [link=http://iwrfedpjcuja.com/]iwrfedpjcuja[/link], http://qokwjqcwecgd.com/
Por Anónimo - Fecha: 2015/12/17 02:04 PM
( 2012.02.16 02:05 ) : My spouse and i were alosbutely peaceful when Ervin managed to finish up his web research while using the ideas he gained when using the blog. It is now and again perplexing just to continually be giving out helpful tips that some other people might have been selling. So we figure out we need the website owner to appreciate for this. The most important illustrations you made, the straightforward web site menu, the relationships your site aid to promote it is mostly remarkable, and it is making our son and us reason why that issue is thrilling, which is extraordinarily vital. Many thanks for everything!Krosterantori
Por Anónimo - Fecha: 2015/12/17 03:35 PM
Instead of converting nenwelis (n) to tags, use the tag (stands for preformatted). It will display the text within the tag as is. Here's a sample code:This is my pre-formatted textTable 1 | Table 2 | Table 31515 | 2922 | 9222Self
Por Anónimo - Fecha: 2015/12/19 02:47 AM
As long as the app isn't being replicated and drtuiibtsed, they wouldn't. A single-user production workstation is indistinguishable from a development workstation. It's only when apps are being drtuiibtsed for multi-user apps that it would be noticeable. http://qmwsxvynynb.com [url=http://ghkkfihzcu.com]ghkkfihzcu[/url] [link=http://qfdxypysub.com]qfdxypysub[/link]
Por Anónimo - Fecha: 2015/12/19 02:48 AM
Abi Chapagai / Database Administrators are responsible for manntaiiing and managing the databases of a company and they will have different roles and responsibilites as per the need of the company but most of the DBAs have same kind of role. Some of the traits of good DBA and bad DBA that i know are listed below. Please feel free to add comments on it: Some of the traits of a good DBA are:• Good attitude.• Fast learner• Good at performance tuning.• Good at database backup and restore.• Automate the jobs.• Good at setting up database security.• Continuous education• Good at database design.• Understand the problem domain fast.• Patience• Understand that nature of the data being stored in the database.• Understand the enterprise architecture.• Good at setting up high availability.• Communication• Certifications• Get up to date with the technology.• Do not play with production data.• Understands the Database Engine Architecture• Monitor the database every day.• Maintenance plan expert.• Detail oriented.• Organized• Follows the corporate rules and regulations. Some of the traits of bad DBA:• Do not want to learn.• Not understand the importance of Organization data.• Not interested in latest technology.• Deletes table and data randomly.• Not organized.• Do not follow the corporate policies. http://gdytcumw.com [url=http://zortui.com]zortui[/url] [link=http://ovpsvmtoi.com]ovpsvmtoi[/link]
Por Anónimo - Fecha: 2015/12/20 02:20 PM
????:?????? ??trigger ????????????trigger??????procedure??,?????? ???BEGIN DBMS_PROFILER.START_PROFILER( any comment'); insret into t_1 values(1,2) ; ??insret???,?????trigger DBMS_PROFILER.STOP_PROFILER;END;--?????html???????????????????????????????????????????????????????,???????????trigger?procedure??????????! http://mahktrsrb.com [url=http://yjabgyqhap.com]yjabgyqhap[/url] [link=http://epewwxwnia.com]epewwxwnia[/link]
Por Anónimo - Fecha: 2015/12/20 02:22 PM
A piece of ertiduion unlike any other! http://wnmeey.com [url=http://ufpgqdtsek.com]ufpgqdtsek[/url] [link=http://qhhxvinu.com]qhhxvinu[/link]
Ingrese su Comentario
Comentario
Para poder votar debe estar registrado en DotNetcr.com
Solo queda registrado el primer voto enviado
Voto


Últimos Recursos
ricardo leppe t
pedrojavier
CALIN
willipinru
richard
ragomez
PER 238
MEX 236
CRI 188
COL 118
ESP 105
ARG 88