溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Access怎么轉成SQL數(shù)據(jù)庫

發(fā)布時間:2021-08-04 18:08:04 來源:億速云 閱讀:144 作者:chen 欄目:數(shù)據(jù)庫

本篇內容介紹了“Access怎么轉成SQL數(shù)據(jù)庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

轉換的方法

1、打開“控制面板”下“管理工具”中的“數(shù)據(jù)庫源”。

2、按”添加“添加一個新的數(shù)據(jù)源,在選擇欄里選“Driver do microsoft Access (*.mdb)”,完成后將出現(xiàn)一個框,在“數(shù)據(jù)庫源”里面輸入你想寫的名稱,我取名叫“ABC”,說明不需要填,接著,按下面的選擇,尋找你的數(shù)據(jù)庫地址和選中(注意,請先備份自己的ACCESS數(shù)據(jù)庫),然后確定。數(shù)據(jù)源在這里建好了,剩下轉換了。

3、打開SQL2000企業(yè)管理器,進入數(shù)據(jù)庫,新建一個空的數(shù)據(jù)庫“ABC”。

4、選擇新建立的數(shù)據(jù)庫,按鼠標右鍵,選擇“所有任務”下“導入數(shù)據(jù)”,按“下一步”繼續(xù)。

5、在數(shù)據(jù)庫源下拉但中選擇”Driver do microsoft Access(*.mdb)“,在”用戶/系統(tǒng)DSN“中,選種你剛才添加的”ABC“,按 ”下一步“。

6、“目的”不需要修改,選擇服務器(一般下為自己的本機local,也可以選擇服務器地址或者局域網地址,確定你的權限是否可以操作,),使用WINDOWS 身份驗證指用自己的系統(tǒng)管理員身份操作,使用SQL身份操作驗證可以用于網站的操作,推薦用后者。

7、選上使用SQL身份操作驗證后,填寫你的用戶名和密碼,我自己選擇的是系統(tǒng)默認號碼sa,****,數(shù)據(jù)庫選擇剛新建的ABC,按下一步。

8、這一步的兩個單項選擇,從數(shù)據(jù)源復制表和視圖與用一條查詢指令指定要傳輸?shù)臄?shù)據(jù),選擇前者,按下一步繼續(xù)。

9、這里將出現(xiàn)你自己ACCESS數(shù)據(jù)庫的表,按全選后,下一步。

10、DTS導入/導出向導,看立即運行被選中按下一步。

11、按完成繼續(xù)。

12、這個步驟你將看到你的數(shù)據(jù)被導入SQL2000里面,當出現(xiàn)已經成功把XXX個表導入到數(shù)據(jù)庫的字樣,而且所有的表前面都有綠色的勾,就表示成功導入所有數(shù)據(jù),如果中途出現(xiàn)問題或者表前面有紅色的叉的話,說明該表沒有成功導入,這時就要回去查看自己的操作是否正確了。

最近又在升級一個程序,使其支持多數(shù)據(jù)庫。
原來的程序數(shù)據(jù)庫為SQL Server,所以使用SQL Server 的“導入和導出數(shù)據(jù)”功能將一個 SQL Server 數(shù)據(jù)庫轉換成了Access數(shù)據(jù)庫,但其中發(fā)現(xiàn)了一些問題,但也找到了解決方案,一并記錄于此:

1、轉換程序會將SQL Server的視圖轉換成表,而不是Access的查詢;
2、在為字段設置默認值為空字符的時候,SQL Server用”,而Access用”";
3、Access中沒有GetDate()函數(shù),應該使用Now()函數(shù)代替;
4、Access沒有SQL Server用來獲取客戶端機器名的host_name()函數(shù);
5、Access中沒有Case When Then語句,但可以用IIF()函數(shù)模擬實現(xiàn)功能;
6、發(fā)現(xiàn):Access使用的是Visual Basic的語言結構和函數(shù);
7、轉換程序會正確轉換SQL Server字段的 IS NULL 屬性;
8、Access也支持多字段的索引,只是設置方法有點特別(參見幫助);
9、SQL Server中bit型的1、0值,在Access中為True和False;
10、在Access中使用多個LEFT JOIN這樣的語句時,必須用括號做相關的界定;
11、Access的SQL沒有注釋語句,SQL Server的/**/無法通用;
12、一條Insert語句在Access查詢中正常運行,但在程序中出現(xiàn)“Insert Into 語句的語法錯誤”,后來發(fā)現(xiàn)原來是語句中的一個列名是Access的關鍵字(用[]界定可解決問題),但奇怪的是將該語句放置到Access的查詢中執(zhí)行卻不會出錯。

需要對轉換后的Access數(shù)據(jù)庫進行以下項目的檢查,以確保與SQL Server一致:

1、主鍵。轉換后的Access數(shù)據(jù)庫都沒有主鍵,需自己設置;
2、自增字段。轉換程序會將SQL Server的自增字段轉換為數(shù)字型,需手動修改為Access的“自動編號”類型;
3、默認值。轉換程序不會轉換SQL Server中設置的默認值,需手動設置;
4、bigint型字段。轉換程序會將SQL Server的bigint轉換為小數(shù),須手動調整為Access的整型或長整型;
5、索引。轉換程序不會轉換索引,需手動在Access中建立索引。

在Delphi下,想讓程序同時支持Access及SQL Server,需注意以下方面:

1、在Access中使用 SELECT * FROM Books WHERE RegDate = ‘2007-5-1′ 是會出現(xiàn)“標準表達式中數(shù)據(jù)類型不匹配”這樣的錯誤的(RegDate是日期型),必須使用SELECT * FROM Books WHERE RegDate = #2007-5-1# 或 SELECT * FROM Books WHERE RegDate = CDate('2007-5-1′);
但在Access中,Insert、delete和update中使用單引號界定日期卻是可以正常執(zhí)行的。
2、盡量不要使用SQL Server的bigint類型,尤其該字段是自增的情況下;
3、Access的varchar(文本)型最大只有255,所以如果一個文本型字段大于255時,最好定義成備注型(Access中)或text型(SQL Server中);
4、在Access中一般會出現(xiàn)如下錯誤:不正常地定義參數(shù)對象。提供了不一致或不完整的信息。將相應Query的ParamCheck設為False即可;
5、Access中的邏輯值在庫中為-1和0,而SQL Server中為1和0,所以寫B(tài)oolField = 1這樣的語句有兼容性問題,應該改為BoolField <> 0;
6、在Access中有主鍵的Query才可更新,而SQL Server無此要求。

“Access怎么轉成SQL數(shù)據(jù)庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI