2012-07-01 112 views
1

是否來自微軟的Access數據庫模式必須與從進口來自微軟的Access數據時,MS SQL Server中的SQL Server的新一個? 最後,將Ms Access中的數據導入Ms SQL Server的最簡單方法是什麼?導入來自微軟的Access數據到MS SQL Server的

+0

'需要一樣嗎?'你是什麼意思?你的意思是模式必須相同嗎? –

+1

導入Access是一個共同的問題:http://stackoverflow.com/search?q=%5Bms-access%5D+%5Bsql-server%5D+import – Fionnuala

+0

還有這裏的指南:HTTP://blogs.msdn。 com/b/ssma/archive/2011/01/28/access-to-sql-server-migration-how-to-use-ssma.aspx - 這裏還有數據類型的映射http://msdn.microsoft.com /en-us/library/windows/desktop/ms714540(v=vs.85).aspx可能有用 – dash

回答

0

有MS Access中的一些數據類型不直接轉換爲SQL服務器,也有在SQL服務器的一些數據類型不MS Access中存在 - 而大多數字段將「升級」正確,有些人可能不。例如,SQL服務器沒有「是/否」數據類型。最接近的是位 - 但我會建議使用tinyint來代替,因爲如果嘗試查看空位字段,訪問將會崩潰並出現問題,但它會輕鬆識別null tinyint。另外,在升級時,請記住,Access中的True = -1,但-1對tinyint不起作用,因此如果要將其保留在-1時,您可能必須轉到int,否則您將不得不更新它時,將值從-1更改爲1(在SQL中爲true)。

此外,SQL服務器具有新的數據類型,例如Access中不存在的較大日期時間 - 因此大部分日期/時間值將轉換爲smalldatetime(精確到分鐘)或datetime(精確到百分之一秒),取決於你需要什麼。

在某些情況下,使用「升遷嚮導」可能會有效,但由於「備忘錄」類型(或2013年和更新版本中的「大文本」)損壞,我發現有幾次該向導無法正確完成。

希望這回答你的問題的第一部分。

至於從MS Access數據導入到SQL Server,我發現創建MS Access中的鏈接表,寫追加查詢,似乎做的很好,如果你不同時使用這兩個系統的伎倆。如果在將數據複製到SQL Server後繼續更改Access中的數據,則可以使用追加新記錄並更新舊記錄,或只刪除表中的所有數據,然後重新追加。

希望這回答你的問題的兩個部分。