日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

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

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

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

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

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

?

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

?

簡(jiǎn)單整理步驟如下:

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

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

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

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

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

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

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

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

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

沒(méi)有勾選“Literal”。

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

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

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

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

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

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

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

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

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

?

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

?

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

?

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

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 使用笔记(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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