一.下載一個SQL 2000的安裝程序,點擊安裝數據庫服務器。一路點下一步,直到安裝定義選項,選擇安裝服務器和客戶端工具。接著點下一步,直到出現服務帳戶,服務設置選擇:使用本地系統帳戶。然後繼續點下一步,到身份驗證模式,為方便在程序中訪問,選擇混合模式的,設置密碼(密碼要記住),然後一直點知道完成安裝。
可能出現的問題:
1.1 出現提示:"以前的某個程序安裝已在計算機上創建掛起的文件操作.運行安裝程序之前必須重新啟動計算機."
解決方法:開始->運行->regedit,在注冊表刪除掉注冊文件中的HKEY_LOCAL_MacHINE\SYSTEM\CurrentControlSet\Control\Session Manager下的FileRenameOperations項。
1.2出現提示:"SQL配置服務器失敗" 解決方法: 開始->運行"鍵入 regedit 按下列順序點擊打開
+ HKEY_LOCAL_MacHINE
+ SOFTWART
+ Microsoft
+ Windows
+ CurrentVersion
+ Setup
+ ExceptionComponents
將 ExceptionComponents 下面的文件夾全部刪除!
如 {60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
{60BFF50D-FB2C-4498-A577-C9548C390BB9}
....... 重新啟動:
二.解決了安裝問題後,根據需要打上補丁(SQL Server 2000 sevice Packg 4)。在開始轉化的開始,先打開控制面板/管理工具/Intenet 信息服務/數據源(ODBC)->添加->Driver do Microsoft Access (*.mdb);寫上數據源名稱;點選擇找到要轉化數據源地址,最後完成數據源添加。到這裡就有了一個良好的開始。
三.在“開始”->程序中找到SQL 2000 打開 企業管理器 一一點擊擴展下去。在數據庫右邊右鍵新建一個數據庫名,完成後選擇此數據庫,右鍵開始導入access數據。在數據源下拉菜單中選擇Driver do Microsoft access (*.mdb);用戶/系統...下拉菜單中選擇開始時命名的Access數據源名稱。點下一步,選擇SQL Server 驗證服務輸入用戶名sa和安裝時設置的密碼。點下一步,到選擇源表時注意,選擇你要導入的數據表,然後就一直點到完成就OK
四.到這裡就粗糙的完成了數據庫的轉化。現在還需要修改一些字段屬性,由於SQL2000裡面沒有“自動編號“,所以你的以“自動編號“設置的字段都會變成非空的字段,這就必須手工修改這些字段,並把他的“標示“選擇“是“,種子為“1“,增量為“1“,
另外,Access2000轉換成SQL2000後,原來屬性為“是/否“的字段將被轉換成非空的“bit“,這時候你必須修改成自己想要的屬性了;
這裡需要注意的是:需要修改的字段屬性,找到它所在的表,選擇設計表,然後修改。這樣把所需要修改的字段全部搞定後,就基本完成數據庫的轉化了。在安全性文件夾下找到登錄,然後新建一個用戶登錄,給它命名,選擇SQL Server 用戶驗證,設置密碼(密碼要記住),選擇完成轉化的數據庫,選擇數據庫訪問標簽,指定數據庫,在下方增加選擇 db_owner。這樣就完成數據庫的操作了。
五.後續工作,在ASP+SQL service 2000中 需要修改連接代碼,方法如下:set conn=Server.CreateObject("ADODB.CONNECTION")
ctr="Provider=SQLOLEDB;Date Source=(local);Initial Catalg=轉化好的數據庫名字;User ID=新建的登錄帳戶;passWord=設置的密碼;"
conn.open ctr
需要注意的是:
4.1轉化時,跟日期有關的字段,SQL Server默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。
4.2對此兩種數據庫進行操作的sql語句不全相同,例如:在對Access數據庫進行刪除紀錄時用:“delete * from user where id=10“,而對SQL Server數據庫進行刪除是用:“delete user where id=10“.
4.3日期函數不相同,在對Access數據庫處理中,可用date()、time()等函數,但對SQL Server數據庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。