2011-03-30 11 views
43

Estamos utilizando ASP.NET (Framework 2) y estableciendo cadenas de conexión de base de datos (SQL2005) en web.config.SQL providerName en web.config

Actualmente estamos usando "providerName=SqlServer".

Todos nuestros accesos a datos se realizan usando System.Data.SqlClient - ¿deberíamos cambiar a providerName=System.Data.SqlClient? Encuentro muchos ejemplos de este providerName en la web, pero muy pocos explican qué es realmente el providerName = SqlServer.

¿Hay alguna diferencia? Me preocupa que el providerName que actualmente especificamos esté haciendo referencia a un cliente heredado (y tal vez más lento), o hay un cliente aún más eficiente que SqlClient para usar con ASP.NET?

Respuesta

85

System.Data.SqlClient es el Proveedor de datos de .NET Framework para SQL Server. es decir, biblioteca .NET para SQL Server.

No sé de dónde viene providerName=SqlServer. ¿Podría confundir esto con la palabra clave provider en su cadena de conexión? (Sé que estaba :))

En el archivo web.config debe tener el System.Data.SqlClient como el valor del atributo providerName. Es el proveedor de datos de .NET Framework que está utilizando.

<connectionStrings> 
    <add 
     name="LocalSqlServer" 
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" 
     providerName="System.Data.SqlClient" 
    /> 
</connectionStrings> 

Ver http://msdn.microsoft.com/en-US/library/htw9h4z3(v=VS.80).aspx

+0

Gracias por su ayuda, y la referencia! – Ali

0
WebConfigurationManager.ConnectionStrings["YourConnectionString"].ProviderName; 
Cuestiones relacionadas