今天從網上下了petshop4.0,想看看裡面的代碼,沒想到安裝資料庫的時候就碰到了一些有意思的麻煩,遂將收穫記錄在下:
(1)建庫指令碼(以及刪除庫的指令碼)裡大量使用了osql和aspnet_regsql這兩個命令,這兩個命令都有一個-S參數,用來指定伺服器的名字,如果沒寫的話預設值應該是localhost。你需要根據自己所要安裝的資料庫伺服器的名字,加以修改。
(2)如果機器上安裝了VS2005,它會內建一個資料庫伺服器SQL Express,SQL Express的執行個體名預設為SQLEXPRESS,因此其實SQL Server服務的命名應為machinename/SQLEXPRESS。如果你要在控制台中啟動這項服務,需要找到Sql Server (SqlExpress)項;如果你要啟動的是Sql Server,那麼應該找MSSQLSERVER項。
(3)在建立指令碼中,下面一段代碼是值得注意的:
1@Echo.
2@Echo.
3@Echo *******************************************************************************
4@Echo * Registering Databases for SQL Cache Dependency *
5@Echo *******************************************************************************
6@Echo.
7
8C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -E -d MSPetShop4 -ed
9C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -E -d MSPetShop4 -t Item -et
10C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -E -d MSPetShop4 -t Product -et
11C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -E -d MSPetShop4 -t Category -et
從注釋可以看出,這裡是要為MSPetShop4等幾個資料庫註冊Sql緩衝依賴。其中-ed參數表示為緩衝依賴項啟用資料庫,-et表示為緩衝依賴項啟用表。由於緩衝這一塊兒在PetShop4中是個很重要的新增內容,以後會在一個單獨的隨筆中加以討論。