DotNetNuke3研究報告二(資料訪問)

來源:互聯網
上載者:User
訪問|資料 為了保持DNN對資料訪問的通用性,DNN3的開發人員們對資料調用進行了精心的設計。下面就讓我們一起來領略DNN優異的資料訪問方案吧!
DNN的首先資料庫是SqlServer,但絕不是局限於使用SqlServer而是適用於所有的儲存方案。如:Oracle,Access......等,甚至可以是Xml檔案或是一般的文字檔。
Dnn3使用何種資料訪問方案,是由web.config中的配置決定的。


資料訪問方案配置讀取
<sectionGroup name="dotnetnuke">
<section name="data" type="DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke" />
</sectionGroup>
該節配置決定了,Dnn的資料訪問方案的配置是通過DotNetNuke命名空間中的DotNetNuke.Framework.Providers.ProviderConfigurationHandler類來處理的。

具體的資料訪問方案配置參數
<appSettings>
<add key="SiteSqlServer" value="Server=192.168.0.5;Database=DNN;uid=sa;pwd=good;" />
</appSettings>
該節配置添加了一個Appsetings的選項,一般來說是作為資料庫連接的配置,這裡你可以根據自己的需要,改成其他的名字和字串值。

模組使用的資料訪問方案配置
在web.config中,你會發現多處類似於以下配置的內容,
<providers>
<add name="DNNSQLRoleProvider"
type="DotNetNuke.Security.Role.DNNSQLRoleProvider, DNNSQLRoleProvider"
connectionStringName="SiteSqlServer"
applicationName="/"
description="Stores and retrieves roles data from the local Microsoft SQL Server database" />
</providers>
這些配置節是DNN用來為每個模組設定資料訪問方案的,所以我們甚至可以為DNN的各個模組設定不同的資料訪問方案,當然也就可以使用多個不同的資料庫了。

系統使用的資料訪問方案配置
下面該是最重要的配置節出場了
<dotnetnuke>
<data defaultProvider="SqlDataProvider">
<providers>
<clear />
<add name="SqlDataProvider"
type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider"
connectionStringName="SiteSqlServer"
upgradeConnectionString=""
providerPath="~\Providers\DataProviders\SqlDataProvider\"
objectQualifier=""
databaseOwner="dbo" />
</providers>
</data>
</dotnetnuke>

這一節是DNN主程式配置資料訪問方案的地方,defaultProvider指明了當沒有特殊指定的情況下Dnn內部各模組應該使用的Data Access Objects。在<data>節,你可以添加多個Data Access Objects。
<clear/>表示清除所有的Data Access Objects,
<add >表示添加一個Data Access Objects。
type:指明實現該Data Access Objects的實際的類,由於DNN使用反射的原理來建立具體的Data Access Objects,所以一定要確保實現該類的裝配件是可訪問的。
connectStringName:配置資料連線方案的配置節的名字
upgradeConnectionString:更新資料庫時使用的串連配置節的名字,如果保持為空白,表示使用和connectStringName相同的值。
providerPath:實現Data Access Objects的裝配件的位置
objectQualifier:用於區別資料庫中不同對象的標識,這樣當包含多個網站時其產生的表和預存程序會自動添加該首碼,以和其他網站區分開來。
databaseOwner:這個就不多說了。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。