程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 使用publishing轉移MS SQL數據(1)

使用publishing轉移MS SQL數據(1)

編輯:關於MYSQL數據庫

     最近,將網站從國內網站搬移到了Lunarpage,程序轉移比較簡單,使用cuteFTP上傳上去就可以了。但是數據庫轉移一直都是很棘手的一個問題。本文介紹數據庫轉移的方法。

數據庫轉移最簡單的方法是使用DTS,但是Lunarpages數據庫不支持遠程數據庫鏈接,所以無法使用DTS,因此只好使用publishing轉移數據。

具體步驟如下:

Step1. 運行 SqlPubWiz.exe

Publishing類似MS SQL的一個插件,你可以到

http://www.microsoft.com/downloads/details.ASPx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A

下載,運行後可以在tools下找到

Step2 運行後,會出現運行向導,找到本地數據庫

Step3.選項要生成的類型,系統會自動檢測可用內容,一般之選擇“表”“存儲過程”和“視圖”,對於Users就不要讓系統生成了

點擊Next,一直完成。

更改數據庫擁有者

以下是核心,非常重要,否則不會成功。

在我們使用網站時,通常會使用SP給我們的賬戶,例如我原來的數據庫叫做 “bf4190_”

當時網站供應商給我的賬戶為 bf419,則系統生成的數據表如下

你可以看到,有的表前面有前綴bf419,有的有前綴dbo (db哦,是database owner),這很不同。因為在我們建立表時,腳本的寫法略有區別。

寫法一:

CREATE TABLE [dbo].[ads]  (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

}
 


寫法二:

CREATE TABLE [ads]   (

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

[img] [nvarchar](200) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,

 

}
 


對於第一種,生成的表就是 dbo.ads, 而第二個表則是 bf419.ads,因為你的bf419其實就是dbo,所以系統可以運行。

但是,當你把數據庫轉移到新的服務商時,如果你的賬戶叫做XXXX,則上面建立bf419.ads則出現錯誤,而用 dbo.ads 則完全沒有問題。

通常新舊服務商給用戶開的用戶名並不一樣,所以我們需要更改一下數據庫的所有者。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved