把Access資料轉到SQLserver有很多方式,寫程式轉(很麻煩= =)、用Access2003的轉換精靈(不能更換資料表名稱,不能批次轉換,若Access
DB很少可以用這方法)
使用SQL Server Business Intelligence Development Studio雖然也是麻煩但設定檔設定完成後可以批次轉換所有Access資料庫,適合Access DB量大的時候
開啟Microsoft Visual studio 2005 > Microsoft Visual studio 2005
專案 > SSIS匯入和匯出精靈
選擇資料來源Microsoft Access
選擇資料目的
**
來源是Access的資料表,目的地是SQL的資料表,你可以把目的地的table 名稱改成你想要的**
然後按設定選先卸除再建立新目的資料表(如果SQLserver原本就有同樣名稱的資料表,轉檔時會發出錯誤,所以先移除同樣檔名的資料表)
**
Intelligence service會自動產生左邊紅框框的流程
卸除資料表SQL工作:如果有選擇先卸除再建立新目的資料表就會出現
準備SQL工作:會在SQL server中建立剛匯入的table schema,但是不會帶出原本的主鍵、外鍵等…= =
資料流程工作:設定access資料和sql資料的mapping**
**
因為準備SQL工作中,沒有主鍵等設定…所以自已加入,設定如下**
主鍵: PRIMARY KEY
欄位自動加1: IDENTITY (1, 1)
複數主鍵:
CONSTRAINT [PK_TABLE的名稱_site] PRIMARY KEY CLUSTERED
(
[主鍵欄位1] asc,
[主鍵欄位2] asc
)
範例:
CREATE TABLE [EOP-APP004].[dbo].[MCline] (
[pr_id] int ,
[seq] int,
[planner_coder] nvarchar(10),
[part_no] nvarchar(50),
[part_desc] nvarchar(100),
CONSTRAINT [PK_MCline_site] PRIMARY KEY CLUSTERED
(
[pr_id] ASC,
[seq] asc
)
)
GO
或是
用access 2003的SQL轉換精靈先轉進一個暫時的資料庫
**
然後用sql server2005的物件總管查看create table該table的語法**
把table的schema設好後,就是一個基本的轉檔script,你可以利用Intelligence Development Studio提供的其他工作再加上其他的功能。