| 導購 | 订阅 | 在线投稿
分享
 
 
 

VS2005與SQL Server2005的整合優勢

來源:互聯網  2008-06-01 02:29:00  評論

微軟整合SQL Server 2005與Visual Studio 2005倒不是頂新鮮的創舉,Oracle早在2004年年底即率先針對Visual Studio 2003,推出Oracle Developer Tools for Visual Studio .NET,用意在提供.NET平台的Oracle用戶,整合于Visual Studio的數據庫設計與治理工具,甚至可利用.NET開發Stored Procedure(預存程序)。相信Oracle在不久的將來,也會針對.NET Framework 2.0推出更新的開發版本。

Stored Procedure效率佳,但與廠商緊密捆綁

站在程序開發者的立場,數據庫與商業邏輯分開,數據庫純粹儲存數據,程序開發交由應用程序處理比較單純;但從DBA的角度出發,系統歸系統,數據的處理由數據庫負責比較好。雖然兩者看法分岐,不過,Stored Procedure貼近數據庫引擎,執行效能較佳,況且數據確實有預先處理的需求,透過程序遠程處理不僅耗時,而且有網絡斷線造成執行失敗的風險,因此,實務上Stored Procedure有存在的必要性。

Stored Procedure有以下的好處:

1.模塊化的程序撰寫:只需建立一次Stored Procedure,儲存在數據庫中,就可以讓不同的程序呼叫。

2.執行效率佳:假如需要大量或反複執行的數據處理,Stored Procedure的執行速度會比T-SQL程序代碼的批處理快。因爲 Stored Procedure 是在建立的時候進行剖析和最佳化,所以執行一次以後存在內存中。而程序代碼則是每次執行時都要反複地從客戶端傳到服務器。

3.減少網絡流量:即使是好幾百行T-SQL程序代碼的作業,也只要透過一個指令就可以執行Stored Procedure中的程序代碼,而不必在網絡上傳送幾百行程序代碼。

雖然微軟的T-SQL或Oracle的PL/SQL,都兼容于ANSI-SQL,但究竟不是標准,兩者都是廠商專屬的數據庫程序語言,所以,只要選擇撰寫Stored Procedure,就是緊密捆綁的開始。不過,除非有不堪使用的重大理由,否則企業選定應用程序搭配的數據庫,少有更換的情況,所以效能與捆綁的衡量,是視應用而定。

以T-SQL或.NET開發Stored Procedure各有利弊

單就SQL Server而言,Visual Studio 2005與SQL Server 2005整合,明顯的好處在于開發數據庫程序,例如Stored Procedure或Trigger可以納管。過去,Stored Procedure必須部署到數據庫「執行看看」,才知道有沒有問題,而且Stored Procedure就像一般程序,檔案可能被別人修改或不小心被覆蓋,因此有治理的需要。透過Visual Studio的控管,對于SQL Server的治理確有正面的效果。

假如企業采用T-SQL撰寫Stored Procedure,SQL Server 2005已附贈一套精簡版的Visual Studio,DBA不再需要使用陽春的文字編輯器撰寫Stored Procedure,可享有開發、測試及版本治理的好處。

若搭配Visual Studio 2005,可使用C#和Visual Basic撰寫Stored Procedure。事實上,利用通用性程序語言撰寫Stored Procedure,微軟不是原創,Java的SQLJ也是對等的設計。

SQL Server 2005的核心已由.NET Framework 2.0改寫,因此,以Visual Basic或C#開發的Stored Procedure好處包括:

1.編譯成爲DLL(.NET Managed code Assembly)的Stored Procedure檔案,執行在原生的.NET Framework 2.0平台,預估效能會比T-SQL好,尤其是大量循環和字符串處理的應用。

2.由于T-SQL是特定用途的程序語言,無法表達複雜的邏輯,所以即使是簡單的字符串處理或數字計算,可能就要寫數十行的程序表達;改由通用性用途的C#或Visual Basic可以大幅縮短程序的長度,也就增加程序的可維護性。

3.相較于T-SQL是SQL Server專屬語言,.NET是ISO標准。

缺點一言以蔽之,卻很要害:企業可能必須有長期保存Visual Studio各種版本的心理預備。

長遠看來,數據庫與開發工具的生命周期大不相同,數據庫首重穩定與安全,升級的頻率不像開發工具那麽趕流行,未來可能.NET Framework和Visual Studio都更新了好幾個版本,企業的SQL Server還在2005版,而Visual Studio不像JBuilder一樣有切換JDK版本的功能。因此,DBA的計算機不管改朝換代了幾次,都必須裝有Visual Studio 2005,甚至隨數據庫版本的多元化,必須裝有Visual Studio不同版本,而且光盤也不能丟掉。那麽情況可能就像現在計算機必須安裝著VB 6甚至VB 3一樣詭異。至于選T-SQL或.NET的權衡,可能又需視Stored Procedure的應用層面來決定。

升級SQL Server 2005才能享有整合的好處

數據庫的工具整合于開發環境,除了便利性,更重要的是數據庫的程序開發,終于有了治理工具。過去Stored Procedure「丟上去Try看看」的作法,現在有了測試和版本控管的機制,由此看來,兩者確實有相互「擡轎」、彼此「綁樁」的效果。

不過,Stored Procedure到底是延用T-SQL,還是改采功能強大、可以處理複雜邏輯的Visual Basic和C#撰寫,就有很多層面的考慮。況且,企業既有的SQL Server是否升級到2005版又有很多影響因素,又將陷入一段長考。

  微軟整合SQL Server 2005與Visual Studio 2005倒不是頂新鮮的創舉,Oracle早在2004年年底即率先針對Visual Studio 2003,推出Oracle Developer Tools for Visual Studio .NET,用意在提供.NET平台的Oracle用戶,整合于Visual Studio的數據庫設計與治理工具,甚至可利用.NET開發Stored Procedure(預存程序)。相信Oracle在不久的將來,也會針對.NET Framework 2.0推出更新的開發版本。   Stored Procedure效率佳,但與廠商緊密捆綁   站在程序開發者的立場,數據庫與商業邏輯分開,數據庫純粹儲存數據,程序開發交由應用程序處理比較單純;但從DBA的角度出發,系統歸系統,數據的處理由數據庫負責比較好。雖然兩者看法分岐,不過,Stored Procedure貼近數據庫引擎,執行效能較佳,況且數據確實有預先處理的需求,透過程序遠程處理不僅耗時,而且有網絡斷線造成執行失敗的風險,因此,實務上Stored Procedure有存在的必要性。   Stored Procedure有以下的好處:   1.模塊化的程序撰寫:只需建立一次Stored Procedure,儲存在數據庫中,就可以讓不同的程序呼叫。   2.執行效率佳:假如需要大量或反複執行的數據處理,Stored Procedure的執行速度會比T-SQL程序代碼的批處理快。因爲 Stored Procedure 是在建立的時候進行剖析和最佳化,所以執行一次以後存在內存中。而程序代碼則是每次執行時都要反複地從客戶端傳到服務器。   3.減少網絡流量:即使是好幾百行T-SQL程序代碼的作業,也只要透過一個指令就可以執行Stored Procedure中的程序代碼,而不必在網絡上傳送幾百行程序代碼。   雖然微軟的T-SQL或Oracle的PL/SQL,都兼容于ANSI-SQL,但究竟不是標准,兩者都是廠商專屬的數據庫程序語言,所以,只要選擇撰寫Stored Procedure,就是緊密捆綁的開始。不過,除非有不堪使用的重大理由,否則企業選定應用程序搭配的數據庫,少有更換的情況,所以效能與捆綁的衡量,是視應用而定。   以T-SQL或.NET開發Stored Procedure各有利弊   單就SQL Server而言,Visual Studio 2005與SQL Server 2005整合,明顯的好處在于開發數據庫程序,例如Stored Procedure或Trigger可以納管。過去,Stored Procedure必須部署到數據庫「執行看看」,才知道有沒有問題,而且Stored Procedure就像一般程序,檔案可能被別人修改或不小心被覆蓋,因此有治理的需要。透過Visual Studio的控管,對于SQL Server的治理確有正面的效果。   假如企業采用T-SQL撰寫Stored Procedure,SQL Server 2005已附贈一套精簡版的Visual Studio,DBA不再需要使用陽春的文字編輯器撰寫Stored Procedure,可享有開發、測試及版本治理的好處。   若搭配Visual Studio 2005,可使用C#和Visual Basic撰寫Stored Procedure。事實上,利用通用性程序語言撰寫Stored Procedure,微軟不是原創,Java的SQLJ也是對等的設計。   SQL Server 2005的核心已由.NET Framework 2.0改寫,因此,以Visual Basic或C#開發的Stored Procedure好處包括:   1.編譯成爲DLL(.NET Managed code Assembly)的Stored Procedure檔案,執行在原生的.NET Framework 2.0平台,預估效能會比T-SQL好,尤其是大量循環和字符串處理的應用。   2.由于T-SQL是特定用途的程序語言,無法表達複雜的邏輯,所以即使是簡單的字符串處理或數字計算,可能就要寫數十行的程序表達;改由通用性用途的C#或Visual Basic可以大幅縮短程序的長度,也就增加程序的可維護性。   3.相較于T-SQL是SQL Server專屬語言,.NET是ISO標准。   缺點一言以蔽之,卻很要害:企業可能必須有長期保存Visual Studio各種版本的心理預備。   長遠看來,數據庫與開發工具的生命周期大不相同,數據庫首重穩定與安全,升級的頻率不像開發工具那麽趕流行,未來可能.NET Framework和Visual Studio都更新了好幾個版本,企業的SQL Server還在2005版,而Visual Studio不像JBuilder一樣有切換JDK版本的功能。因此,DBA的計算機不管改朝換代了幾次,都必須裝有Visual Studio 2005,甚至隨數據庫版本的多元化,必須裝有Visual Studio不同版本,而且光盤也不能丟掉。那麽情況可能就像現在計算機必須安裝著VB 6甚至VB 3一樣詭異。至于選T-SQL或.NET的權衡,可能又需視Stored Procedure的應用層面來決定。   升級SQL Server 2005才能享有整合的好處   數據庫的工具整合于開發環境,除了便利性,更重要的是數據庫的程序開發,終于有了治理工具。過去Stored Procedure「丟上去Try看看」的作法,現在有了測試和版本控管的機制,由此看來,兩者確實有相互「擡轎」、彼此「綁樁」的效果。   不過,Stored Procedure到底是延用T-SQL,還是改采功能強大、可以處理複雜邏輯的Visual Basic和C#撰寫,就有很多層面的考慮。況且,企業既有的SQL Server是否升級到2005版又有很多影響因素,又將陷入一段長考。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有