新的System.Data.Common.DbProviderFactory类为数据库开发人员提供了创建数据源不明确的应用程序的可能性。创建能够与所有关系数据库管理器(托管数据提供者对其有效)无缝互操作的复杂数据输入应用程序并不是一件容易的事情。对于SQL语法、数据类型、存储过程所用的语言、容错处理以及其他依赖于数据库的功能中的微小差异,毫无疑问需要相应的定制处理。如果用户目前用.NET Framework的OleDb托管数据提供者或者是有OLE DB提供者的ADODB来传输数据库互操作性,那么可能会发现:Microsoft和第三方ADO.NET托管提供者提供的性能有所增强,因此具有更大的可伸缩性。另外,.NET对托管数据提供者赋予的实现范围使得人们难以编写对提供者完全透明的代码。
    DbProviderFactories类的的使用步骤如下
1、需要在配置文件中配置上providerName

用DbProviderFactories创建数据库不明确的项目            <configuration>
用DbProviderFactories创建数据库不明确的项目             
<connectionStrings>
用DbProviderFactories创建数据库不明确的项目              
<add name="SQL Server" providerName="System.Data.SqlClient" 
用DbProviderFactories创建数据库不明确的项目                connectionString
="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Databases\MyData.mdf;Integrated Security=True;User Instance=True" />
用DbProviderFactories创建数据库不明确的项目            
</connectionStrings>
用DbProviderFactories创建数据库不明确的项目            
</configuration>

2、在代码中使用如下代码来创建
用DbProviderFactories创建数据库不明确的项目 ConnectionStringSettings myConnectionSettings = ConfigurationManager.ConnectionStrings[myName];
用DbProviderFactories创建数据库不明确的项目            
//得到Provider
用DbProviderFactories创建数据库不明确的项目
            DbProviderFactory myProvider = DbProviderFactories.GetFactory(myConnectionSettings.ProviderName);
用DbProviderFactories创建数据库不明确的项目            
//得到Connection
用DbProviderFactories创建数据库不明确的项目
            DbConnection myConnection = myProvider.CreateConnection();
用DbProviderFactories创建数据库不明确的项目            myConnection.ConnectionString 
= myConnectionSettings.ConnectionString;
用DbProviderFactories创建数据库不明确的项目            myConnection.Open();
用DbProviderFactories创建数据库不明确的项目
用DbProviderFactories创建数据库不明确的项目            DbDataAdapter myAdapter 
= myProvider.CreateDataAdapter();
用DbProviderFactories创建数据库不明确的项目            DbCommand myCommand 
= myProvider.CreateCommand();
用DbProviderFactories创建数据库不明确的项目
用DbProviderFactories创建数据库不明确的项目          
用DbProviderFactories创建数据库不明确的项目            myCommand.Connection 
= myConnection;
用DbProviderFactories创建数据库不明确的项目            myCommand.CommandText 
= myQuery;

相关文章:

  • 2021-11-19
  • 2022-01-14
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2021-09-14
  • 2022-12-23
  • 2021-09-16
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2021-05-30
相关资源
相似解决方案