2008-09-16 151 views
1

嵌入.NET程序集什麼是創建將被嵌入到SQL Server 2005 .NET程序集時遵循一些重要的做法?最佳實踐在SQL Server

我全新此,我發現有顯著方法,屬性,如:

[SqlFunction(FillRowMethodName = "FillRow", TableDefinition = "letter nchar(1)")] 

我也在尋找常見的陷阱,以避免等

回答

2

一些我記得:

  • 保持其使用最小化,只有在T-SQL證明過於複雜時才使用它。
  • 不惜一切代價避免指針/遊標,因爲for循環在CLR上下文中很容易濫用。
  • 除非完全需要,否則只能使用SQL-Server本機數據類型。

不記得我在哪裏找到了這些信息,但那些是我記得的。

基本上,當聲明性T-SQL是太複雜或不可能做(如註冊表編輯等)僅使用它。

1

關於裝配部署的單提示:

保持小裝配間的功能隔離。儘量不要構建依賴關係鏈,因爲替換基礎部件意味着您需要先刪除相關部件第一個,然後才能更新基礎部件。

-1

我會強烈建議不要把.NET程序集在數據庫服務器上,認爲n層應用程序。持久性< - 業務邏輯< -Presentation邏輯< - 客戶端 保持你的邏輯在你的業務邏輯層。

我能想到的唯一理由把.NET在你的數據庫將添加一個新的複雜數據類型,我強烈認爲這是一個愚蠢的類,只保存數據,並不會對其沒有處理。

只因爲你可以不意味着你應該。 對不起,不直接回答你的問題。

+0

有時數據訪問也需要比內置於SQL服務器的詳細邏輯和數據庫服務器上部署,這並不使它的邏輯DAL的少部分。 – ProfK 2009-03-25 10:07:10