DNN的数据访问方式——合理运用模式,提高数据访问的灵活性(有修正)
2005-05-17 13:19
387 查看
注:这些时正在看设计模式方面的内容,仔细了解后发现DNN中数据访问方式应该是使用的简单工厂模式(看见有的书上说它是反射工厂,我觉得他是利用.NET的反射技术实例化对象的简单工厂, <!--data默认的Provider是SqlDataProvider-->
<data defaultProvider="SqlDataProvider">
<providers>
<clear />
<!--Provider的详细信息-->
<add name="SqlDataProvider" type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\SqlDataProvider\" objectQualifier="" databaseOwner="dbo" />
</providers>
</data>
这样如果我们需要用Oracle数据库,只需要编写一个OracleDataProvider子类实现DataProvider中的接口就行了。然后将配置文件的信息修改如下即可。
<data defaultProvider="OracleDataProvider">
<providers>
<clear />
<!--Provider的详细信息-->
<add name="OracleDataProvider" type="DotNetNuke.Data.OracleDataProvider, DotNetNuke.OracleDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\OracleDataProvider\" objectQualifier="" databaseOwner="" />
</providers>
</data>
这种数据访问方式能够灵活的配置应用程序使用的数据库,而且每个用户模块都有自己独立的DataProvider,应该是可以实现不同的用户模块使用不同的数据库。我现在还在看系统框架的东西,关于不同用户模块是否是可以使用不同数据库的问题还不能肯定,不过我想是可以的。
更多相关内容>>
<data defaultProvider="SqlDataProvider">
<providers>
<clear />
<!--Provider的详细信息-->
<add name="SqlDataProvider" type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\SqlDataProvider\" objectQualifier="" databaseOwner="dbo" />
</providers>
</data>
这样如果我们需要用Oracle数据库,只需要编写一个OracleDataProvider子类实现DataProvider中的接口就行了。然后将配置文件的信息修改如下即可。
<data defaultProvider="OracleDataProvider">
<providers>
<clear />
<!--Provider的详细信息-->
<add name="OracleDataProvider" type="DotNetNuke.Data.OracleDataProvider, DotNetNuke.OracleDataProvider" connectionStringName="SiteSqlServer" upgradeConnectionString="" providerPath="~\Providers\DataProviders\OracleDataProvider\" objectQualifier="" databaseOwner="" />
</providers>
</data>
这种数据访问方式能够灵活的配置应用程序使用的数据库,而且每个用户模块都有自己独立的DataProvider,应该是可以实现不同的用户模块使用不同的数据库。我现在还在看系统框架的东西,关于不同用户模块是否是可以使用不同数据库的问题还不能肯定,不过我想是可以的。
更多相关内容>>
相关文章推荐
- DNN的数据访问方式——合理运用模式,提高数据访问的灵活性
- 选择数据访问模式,合理规划数据访问层[转]
- Sharepoint2010数据访问的方式
- Android学习 —— 数据的存储与访问方式四: ContentProvider
- 多个线程访问共享对象和数据的方式
- 用Spring提高java观察者模式灵活性
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- 使用数据2分处理的通用分页存储过程 前半部分与后半部分数据访问时间相同,同等访问速度提高一倍
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 示范如何以异步AJAX方式访问SharePoint数据
- HBase数据访问的一些常用方式
- 数据访问两种模式的比较
- Android学习 —— 数据的存储与访问方式一: 文件存取
- Android学习 —— 数据的存储与访问方式二: SharedPreferences(偏好参数保存)
- 在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。
- android 数据存储和访问方式四:ContentProvider(内容提供者、数据共享)详解
- 重构模式(四)---- 合理、勇敢地运用Refactoring
- window.showModalDialog方式/模式窗口数据不刷新(缓存)问题
- 数据访问模式:Identity Map(标识映射)模式
- ADO.NET数据访问模式