日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

SQL Server 2005中的CLR集成(2)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:SQL SQL Server 2008中的新日期數(shù)據(jù)類型
這篇文章主要介紹了Oracle數(shù)據(jù)庫到SQL Server數(shù)據(jù)庫主鍵的遷移過程,具體內(nèi)容請參考下文。 由于項(xiàng)目需要要將以前Oracle的數(shù)據(jù)庫轉(zhuǎn)化為SQL Server,今天利用SQL Server的DTD進(jìn)行數(shù)據(jù)庫的遷移,但導(dǎo)入以后發(fā)現(xiàn)只導(dǎo)入了表結(jié)構(gòu)和數(shù)據(jù),而表的一些主鍵約束都沒導(dǎo)過

4.1 創(chuàng)建復(fù)雜CLR存儲過程

在這個(gè)示例中,將創(chuàng)建從AdventureWorks數(shù)據(jù)庫的Production.Product表返回?cái)?shù)據(jù)的存儲過程。首先,選擇“文件”→“新建項(xiàng)目”,然后在彈出窗口的左邊導(dǎo)航菜單中選擇“Visual C#”→“數(shù)據(jù)庫”,接著將項(xiàng)目模板選擇為“SQL Server項(xiàng)目”,這樣可在Visual Studio 2005中創(chuàng)建新項(xiàng)目SqlServerDataAccess。如果單擊新建項(xiàng)目對話框中的OK按鈕,那么會(huì)要求添加數(shù)據(jù)庫引用。如果AdventureWorks引用還不可用,那么可使用“添加新引用”選項(xiàng)來添加指向AdventureWorks數(shù)據(jù)庫的引用。

當(dāng)選擇啟用CLR存儲過程調(diào)試和項(xiàng)目建立后,在菜單中選擇“項(xiàng)目”→“添加存儲過程”項(xiàng),接著設(shè)置類名稱為GetProducts.cs。一旦創(chuàng)建了類,可根據(jù)示例1修改代碼。

示例1:由CLR存儲過程返回表格式結(jié)果集

以下為引用的內(nèi)容:

using System; 
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class StoredProcedures
{
[Microsoft.SqlServer.Server.SqlProcedure]
public static void GetProducts(int categoryID)
{
SqlConnection connection = new SqlConnection("context connection = True");
connection.Open();
SqlCommand command = new SqlCommand("SELECT ProductID, Name FROM "
"Production.Product WHERE ProductSubcategoryID = "
categoryID.ToString(), connection);
SqlDataReader reader = command.ExecuteReader();
SqlContext.Pipe.Send(reader);
}
};

這個(gè)程序集中的代碼創(chuàng)建了數(shù)據(jù)庫連接,然后執(zhí)行T-SQL語句,結(jié)果返回Product表中具有所提供類別ID的ProductID和Name列的所有記錄。注意,示例1所示的上下文連接允許在調(diào)用CLR代碼的同一上下文中執(zhí)行SQL語句。為了啟用上下文連接,可將連接字符串設(shè)置為“context connection=True”。

為了使用在SQL Server中處理的數(shù)據(jù),內(nèi)部過程的提供程序進(jìn)行了優(yōu)化。使用內(nèi)部過程受管的提供程序的類和方法,能夠很簡單的將查詢提交給數(shù)據(jù)庫,執(zhí)行DML和DDL語句,以及將結(jié)果集和消息返回給客戶端應(yīng)用程序。

Microsoft.SqlServer.Server命名空間對組成內(nèi)部過程提供程序的類型進(jìn)行分組。這個(gè)命名空間與ADO.NET的SqlClient命名空間共享很多相似性和接口,開發(fā)人員使用SqlClient命名空間從受管客戶端和中間層應(yīng)用程序訪問SQL Server數(shù)據(jù)。由于具有相似性,所以能夠很簡單的將代碼從客戶端應(yīng)用程序遷移到服務(wù)器和后臺使用。

Microsoft.SqlServer.Server命名空間中有兩個(gè)重要類,它們用于設(shè)置內(nèi)部過程提供程序:

SqlContext:這個(gè)類封裝了其他一些擴(kuò)展。另外,該類提供了事務(wù)和數(shù)據(jù)庫連接,它們是例程執(zhí)行環(huán)境的一部分。
SqlPipe:這個(gè)類可使例程向客戶端發(fā)送表格式結(jié)果和消息。這個(gè)類在概念上與ASP.NET中的Response類很相似,Response類也能用于向調(diào)用者發(fā)送消息。

既然已經(jīng)創(chuàng)建了存儲過程,那么就可以使用“生成”→“生成SqlServerDataAccess”菜單項(xiàng)生成項(xiàng)目。一旦項(xiàng)目生成,下一步是將存儲過程部署到SQL Server。與前一示例不同,前一示例必須通過很多步驟才能部署存儲過程,而Visual Studio 2005只要單擊按鈕就能夠部署存儲過程。為此,可選擇“生成”→“部署SqlServerDataAccess”菜單項(xiàng)。以上就是使用Visual Studio 2005部署CLR存儲過程的全部過程。

此時(shí),可以通過執(zhí)行來測試這個(gè)存儲過程。為了達(dá)成本示例目的,創(chuàng)建一個(gè)測試該存儲過程的簡單ASP.NET頁面,如示例2所示。

分享:解析SQL Server 2008性能和可擴(kuò)展性
1.導(dǎo)言 現(xiàn)今的公司需要易訪問的和可用性好的商業(yè)數(shù)據(jù),以便他們可以在全球市場中獲得一席之地。與易訪問數(shù)據(jù)的這個(gè)需求相呼應(yīng)的,關(guān)系數(shù)據(jù)庫和分析數(shù)據(jù)庫在規(guī)模方面繼續(xù)發(fā)展,內(nèi)嵌數(shù)據(jù)庫和許多產(chǎn)品一起出現(xiàn),并且許多公司將服務(wù)器合并來減輕管理工作。當(dāng)公司

來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時(shí)間:2009-05-17
相關(guān)Mssql數(shù)據(jù)庫教程