將使用Access的論壇遷移到SqLServer中

2021-03-31 08:56:30 字數 1131 閱讀 6042

我利用動網提供的論壇程式建立了乙個內部論壇。原來,這個論壇是發布在windows2000的iis5上的。他的資料庫用的是access。可是,當我將這個論壇遷移到windows2003上以後,發現經常死掉。到網上找了一下,並且諮詢了微軟的工程師,很多人都認為i這跟他使用access有關。並且,我想在公司內部**首頁增加乙個跑馬燈來顯示論壇中的新帖子,可是,如果繼續用access的話,訪問起來不是那麼方便。於是決定遷移到sql中。

第一步:將資料匯入sql server

進到sql server企業管理器,新建乙個資料庫,然後,選擇匯入資料,選擇access資料庫作為匯入源,匯入所有的資料。

第二步:修改資料表

通過這種方式建立的資料表,是沒有主鍵和預設值的,參照原來的access庫修改各個表。(這個比較煩,但是一定得做,因為後面的程式中會用到這些預設值)

第三步:修改程式

將站點遷移到相應的伺服器,建立新的站點。首先,要改的就是資料庫聯接.由於access中的一些函式和sql中的一些函式不一樣,所以,程式會報錯,根據程式的報錯資訊修改相關的地方。這裡主要要修改兩個地方:

sql語句中的now()函式:

在access中使用now()函式來獲取當前時間,而在sql server中用getdate()函式來獲取當前時間。但是,由於原來的程式是採用vb script寫的,vbscript中也採用now()函式獲取當前時間,所以要小心

sql語句中的datediff函式的第乙個引數:

在access中datediff的第乙個引數用引號,並且只用乙個字母來表示比較的部分,而在sqlserver中不需要引號,並且用全稱和或者簡稱來表示,並且簡稱也是兩個字母的。

改完後逐項測試,改正所有的錯誤(都挺簡單的)。

程式就可以正常使用了,前後時間可能花了4個多小時吧。

我想到以下幾點:

1、如果,我們要使用access資料庫,為了以後遷移方便,我們應該盡量避免使用資料庫的函式,而是多用程式語言的函式,在sql語句的外面解決計算問題。如果,不能避免要使用這些資料庫函式,我們也應該在**中設定明顯的注釋標記,以便於以後遷移。

2、我們在設計程式時候,要充分考慮資料庫的遷移的需要,在插入語句、查詢語句等語句的時候要盡量採用標準的sql語法,並且要不厭其煩得插入預設值,而不要依賴資料庫提供預設值,這樣做,對以後的改進可能會有好處。

ACCESS遷移到SQLSERVE的兩種方法

原文 access2000檔案 用access2007開啟,並遷移到sqlserver2005裡 開啟access2007的資料庫工具 方法一 使用access2007自帶的資料庫遷移工具 1 開啟access2007的資料庫遷移嚮導 2 點選sqlserver按鈕,彈出公升遷嚮導對話方塊 3 選擇...

oracle遷移到mysql 僅使用指令碼

一直用oracle,最近研究了下mysql,先列舉下mysql奇怪的特性 1.不能儲存毫秒精度的時間.2.如果有varchar,char就會自動變varhar.3.timestamp時間範圍比datatime小,精度一樣,而且就算你不insert update,它的值也會自動改變.4.沒有seque...

從Oracle遷移到SQL Server的陷阱

在把oracle查詢轉換為sql server的時候要特別當心一些不容易注意到的問題。我們知道,t sql是sql server的語言引擎,而oracle的語言引擎卻是plsql。這兩種查詢語言都對ansi sql 92標準進行了擴充套件以提供額外的支援力度。你所建立的應用程式幾乎都要用到這些補充特...