2012-07-11 81 views
1

我在SQL Server 2008數據庫中有一個空表,我想將數據從訪問數據庫中的表中的數據導入SQL Server。有1000行需要引入。問題是,SQL Server數據庫表中沒有其他列存在於Access數據庫表中。使用Access數據庫表填充現有的SQL Server數據庫表

這裏我提到一個表,但是大約有15個表需要從訪問數據庫表中更新。做這件事最好的海灣是什麼?

在此先感謝

+0

這取決於。對於Access表中不存在的那些SQL Server字段,它們是否接受空值?如果不是,他們是否有默認值定義? – HansUp 2012-07-11 21:34:07

+0

這是你必須做的一件事情,還是會重複使用? – HansUp 2012-07-11 21:35:53

+0

@HansUp它的一次性的事情。是的,他們可以有空值 – user793468 2012-07-11 21:49:15

回答

1

在你的Access數據庫,您可以創建ODBC鏈接到你的SQL Server表。然後執行Access爲每對錶(Access和SQL Server)調用附加查詢。

INSERT INTO remote_table1 (field1, field2, field3, etc) 
SELECT field1, field2, field3, etc 
FROM access_table1; 

如果字段名稱匹配且數據類型兼容,這應該相當簡單。如果您的SQL Server字段的名稱與其Access對應名稱不同,則需要更多工作。如果數據類型不直接兼容,則可以使用查詢中的字段表達式轉換值。您可以在Access查詢中使用許多數據類型轉換功能:CDate(); CStr(); CInt(); CLng();等等。

+1

爲了記錄,你當然也可以設置鏈接的另一種方式:有SQL鏈接到Access,並在SQL中運行INSERT ... FROM AccDB.DBName.dbo.TblName 。我不知道哪個更容易設置,哪些更容易處理類型轉換等,但是如果Access-to-SQL最終成爲一個痛苦,那就試試它。 – 2012-07-11 23:19:54