日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

VS2010 SQL Server 2005 Database Project 使用笔记(二)

發(fā)布時(shí)間:2025/4/5 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2010 SQL Server 2005 Database Project 使用笔记(二) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

經(jīng)過又一天的努力,終于讓數(shù)據(jù)庫項(xiàng)目全編通過。

現(xiàn)在的解決方案里已經(jīng)有十個項(xiàng)目了,其中八個數(shù)據(jù)庫項(xiàng)目,一個服務(wù)器項(xiàng)目(SQL Server 2005 Server Project),一個單元測試項(xiàng)目。

直到下午還是滿屏的Error,但經(jīng)過不斷的搜索(資料不多)和數(shù)次嘗試,找到了關(guān)鍵問題和應(yīng)對方法,后面就是對其余的項(xiàng)目重復(fù)幾次這個過程,終于迎來了曙光。

?

再次給出關(guān)于 數(shù)據(jù)庫引用的資料鏈接?(MSDN)

?

簡單整理步驟如下:

1. 因?yàn)閿?shù)據(jù)庫中自定義的Schema對象依賴于“Login”,所以需要建立一個Server Project,導(dǎo)入master;

為了順利Build該項(xiàng)目,需要添加對master.schema的引用,該文件位于VS2010的安裝目錄,上面鏈接里有介紹。

2. 各數(shù)據(jù)庫項(xiàng)目都添加對上述Server Project的引用,注意,同時(shí)也要添加對 master.schema的引用 (這里只是急于解決問題,聲明下不是標(biāo)準(zhǔn)步驟)

3. 從最外圍最少用的庫對應(yīng)的Database Project開始。先Unload掉其他Database Project,減少干擾,先集中精力消除項(xiàng)目自身的錯誤(非引用錯誤)。

自身錯誤主要是語法錯誤,語法錯誤一般很少,畢竟是實(shí)際在用的開發(fā)數(shù)據(jù)庫。

今天只遇到一個SQL2000中FLOAT(m,n)無法通過SQL2005語法檢查的問題。(意外發(fā)現(xiàn)這個升級遺留問題,這一方面也展現(xiàn)了VS對Schema進(jìn)行靜態(tài)檢查的優(yōu)秀功能,以及我們使用適當(dāng)?shù)墓ぞ咻o助我們工作的必要性)

4. 接下來處理引用錯誤,就是那些視圖,存儲過程中包含對其他數(shù)據(jù)庫對象的引用導(dǎo)致的錯誤。

還是那個減少干擾的思路,先從較為少用的庫項(xiàng)目開始Reload。

這里有個關(guān)鍵細(xì)節(jié),就是在添加數(shù)據(jù)庫引用(項(xiàng)目型引用)時(shí),相比昨天采用默認(rèn)的參數(shù),今天嘗試了使用 Database Reference Variables, 因?yàn)閿?shù)據(jù)庫都在同一臺服務(wù)器的原因,所以沒使用Server Variable,只定義了Database variable。

沒有勾選“Literal”。

"Name"欄輸入數(shù)據(jù)庫名稱(當(dāng)然輸入別的合法變量名也沒問題)。

"Value"輸入數(shù)據(jù)庫名稱。Value可以在部署項(xiàng)目時(shí)修改為實(shí)際的名字,這點(diǎn)昨天提到過,數(shù)據(jù)庫變量的一個作用就在于解決開發(fā)和部署的數(shù)據(jù)庫名稱差異問題。
可以注意到,"Name”在編輯焦點(diǎn)離開后,會自動變成 $(Db1) 的形式,這也就是我們要在腳本中使用的表示其他數(shù)據(jù)庫的變量。VS這里有個貼心并且體驗(yàn)良好的功能,勾選下面的“Updating Schema Objects and Scripts”,在確定后VS會自動找出已有的對其他數(shù)據(jù)庫的引用,并自動替換為前面定義的變量,形式為 [$(Db1)]。如果手寫的話,注意方括號([])不缺少為妙。

在使用數(shù)據(jù)庫變量之后,非常多的SQL03006錯誤自動閃躲。

在指定“Name”而不是使用“Literal”(文本方式引用數(shù)據(jù)庫)之后,SQL04105也排隊(duì)撤離。

(當(dāng)然,這里提醒還是要好好閱讀MSDN,搞清因果,結(jié)合需求而行,并不是任何時(shí)候都要這么用,否則選項(xiàng)就沒有提供的價(jià)值啦)

(文檔中提到的復(fù)合項(xiàng)目,相比使用數(shù)據(jù)庫引用,更適合一組數(shù)據(jù)庫要協(xié)同部署的情況)

5. 在對所有數(shù)據(jù)庫項(xiàng)目這么演練一番后,只剩下些散兵游勇。

我遇到的具體情況比較理想,清一色地視圖里有昨天SQL03006 2)的情況,替換掉幾個后,解決方案終于順利全編通過。

6.(遺留)還有1083個警告,日后慢慢消化,邊理解邊解決。

?

正好上午有個用戶報(bào)了個BUG,估計(jì)和數(shù)據(jù)庫訪問有關(guān),就順手找到對應(yīng)的存儲過程文件,在Schema視圖下,右鍵自動創(chuàng)建了對應(yīng)的單元測試腳本,協(xié)助定位bug。

?

享受勞動成果確實(shí)是件好事,雖然已經(jīng)是下班后的事啦。

?

P.S. 下一個需求是數(shù)據(jù)庫單元測試,先放個今天偶然看到的資料

Test Driven Development with Visual Studio for Database Professionals?(InfoQ)

轉(zhuǎn)載于:https://www.cnblogs.com/yicone/archive/2010/05/27/1745758.html

總結(jié)

以上是生活随笔為你收集整理的VS2010 SQL Server 2005 Database Project 使用笔记(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。