日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_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)容請參考下文。 由于項目需要要將以前Oracle的數(shù)據(jù)庫轉化為SQL Server,今天利用SQL Server的DTD進行數(shù)據(jù)庫的遷移,但導入以后發(fā)現(xiàn)只導入了表結構和數(shù)據(jù),而表的一些主鍵約束都沒導過

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

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

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

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

以下為引用的內(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);
}
};

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

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

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

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

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

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

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

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

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