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