如何把Access 數(shù)據(jù)導出到SQL Server?
在論壇里看見好多新人都提問過這個老問題了,最近我也因為修改一個舊系統(tǒng),用到了把ACCESS數(shù)據(jù)表要導出到SQL SERVER進行處理,現(xiàn)在把我實現(xiàn)的簡單方法與新手們分享,有什么不足之處,歡迎指正,交流。
1、打開ACCESS數(shù)據(jù)庫,右鍵選中要導出的表TABLE1,選擇"導出",出現(xiàn)一個‘將表TABLE1導出....‘的對話框,在‘保存類型(T)’下拉列表選中'ODBC Databases (),出現(xiàn)一個導出對話框,一般的表名不做修改,默認就行了,點擊‘確定’。
2、在‘選擇數(shù)據(jù)源’對話框中,點擊‘新建’按鈕,出現(xiàn)的‘創(chuàng)建新數(shù)據(jù)源’中,選擇‘SQL Server’數(shù)據(jù)源驅(qū)動程序,點‘下一步’,數(shù)據(jù)源名中可以輸入你想定義的數(shù)據(jù)源名,本例數(shù)據(jù)源名為‘DC12’,點‘下一步,點‘完成’。
3、在出現(xiàn)的‘創(chuàng)建到SQL Server的新數(shù)據(jù)源’對話框中,服務(wù)器(S):選項下拉列表中,選擇一個你想連接到的本地數(shù)據(jù)庫或者網(wǎng)絡(luò)數(shù)據(jù)庫的服務(wù)器名稱,本例的服務(wù)器名稱為‘JIABAO9’,點‘下一步’,選中‘使用用戶輸入登錄ID和密碼的SQL Server 驗證(S)’,分別在‘登錄ID(L)和密碼(P)’中輸入訪問數(shù)據(jù)庫的的用戶名和密碼,點‘下一步’。
4、選擇數(shù)據(jù)庫的對話框里,在‘更改默認的數(shù)據(jù)庫為(D)’下拉列表中選擇一個已經(jīng)有存在的數(shù)據(jù)庫名稱,本例數(shù)據(jù)庫名為‘DBTEXT’,也就是把ACCESS數(shù)據(jù)庫的TABLE1表數(shù)據(jù)導出到DBTEXT數(shù)據(jù)庫,按‘下一步’--》完成--》確定。
5、在出現(xiàn)的‘選擇數(shù)據(jù)源’對話框中,一般我們不用再修改‘DSN 名稱(D)’的文件名了,前面已經(jīng)命名為‘DC12’,點‘確定’;要求你在‘SQL Server登錄’對話框里再次輸入登錄數(shù)據(jù)庫的用戶名和密碼,輸入完后,點擊‘確定’,如果不出現(xiàn)錯誤提示,表明已經(jīng)成功將ACCESS數(shù)據(jù)庫表TABLE1的表結(jié)構(gòu)和數(shù)據(jù)導出到數(shù)據(jù)庫名為JIABAO9了。
6、在JIABAO9數(shù)據(jù)庫下就新建立有一個名稱為TABLE1的新表了,可用select * from TABLE1 來查詢剛才導入的數(shù)據(jù)了。?
7、因為是從ACCESS把數(shù)據(jù)表導入到SQL SERVER數(shù)據(jù)庫的, 所以ACCESS和SQL SERVER數(shù)據(jù)
庫的語法上有差別;
select? 'stano,sname from stainfo where datepart(''m'',birth) =';是在ACCESS
數(shù)據(jù)庫中的查詢語句,在SQL SERVER中不能這樣表達,否則會產(chǎn)生語法錯誤,
無效的參數(shù)傳遞: Invalib parameter specified for datepart;
注意大多數(shù)都是由引號或標點符號引起的,把m的引號去掉,
應(yīng)該改為: select 'stano,sname from stainfo where datepart(m,birth) ='。