全部評論(2條)
-
- 陌殤0420 2011-07-12 00:00:00
- 很多朋友想用SQL2000數(shù)據(jù)庫的編程方法,但是卻又苦于自己是學(xué)ACCESS的,對SQL只是一點點的了解而已,這里我給大家提供以下參考---將ACCESS轉(zhuǎn)化成SQL2000的方法和注意事項 一,首先,我說的是在ACCESS2000,SQL2000之間轉(zhuǎn)換,其他的我也還沒有嘗試過,希望大家多多試驗,肯定是有辦法的; 二,轉(zhuǎn)換的方法 1,打開”控制面板“下”管理工具“中的”數(shù)據(jù)庫源“; 2,按”添加“添加一個新的數(shù)據(jù)源,在選擇欄里選“Driver do microsoft Access (*.mdb)”,完成后將出現(xiàn)一個框,在“數(shù)據(jù)庫源”里面輸入你想寫的名稱,我取名叫“ABC”,說明不需要填,接著,按下面的選擇,尋找你的數(shù)據(jù)庫地址和選中(注意,請先備份自己的ACCESS數(shù)據(jù)庫),然后確定。數(shù)據(jù)源在這里建好了,剩下轉(zhuǎn)換了。 3,打開SQL2000企業(yè)管理器,進入數(shù)據(jù)庫,新建一個空的數(shù)據(jù)庫“ABC”; 4,選擇新建立的數(shù)據(jù)庫,按鼠標右鍵,選擇“所有任務(wù)”下“導(dǎo)入數(shù)據(jù)”,按“下一步”繼續(xù); 5,在數(shù)據(jù)庫源下拉但中選擇”Driver do microsoft Access(*.mdb)“,在”用戶/系統(tǒng)DSN“中,選種你剛才添加的”ABC“,按 ”下一步“; 6,“目的”不需要修改,選擇服務(wù)器(一般下為自己的本機local,也可以選擇服務(wù)器地址或者局域網(wǎng)地址,確定你的權(quán)限是否可以操作,),使用WINDOWS 身份驗證指用自己的系統(tǒng)管理員身份操作,使用SQL身份操作驗證可以用于網(wǎng)站的操作,推薦用后者; 7,選上使用SQL身份操作驗證后,填寫你的用戶名和密碼,我自己選擇的是系統(tǒng)默認號碼sa,****,數(shù)據(jù)庫選擇剛新建的ABC,按下一步; 8,這一步的兩個單項選擇,從數(shù)據(jù)源復(fù)制表和視圖與用一條查詢指令指定要傳輸?shù)臄?shù)據(jù),選擇前者,按下一步繼續(xù); 9,這里將出現(xiàn)你自己ACCESS數(shù)據(jù)庫的表,按全選后,下一步; 10,DTS導(dǎo)入/導(dǎo)出向?qū)?,看立即運行被選中按下一步, 11,按完成繼續(xù); 12,這個步驟你將看到你的數(shù)據(jù)被導(dǎo)入SQL2000里面,當出現(xiàn)已經(jīng)成功把XXX個表導(dǎo)入到數(shù)據(jù)庫的字樣,而且所有的表前面都有綠色的勾,就表示成功導(dǎo)入所有數(shù)據(jù),如果中途出現(xiàn)問題或者表前面有紅色的叉的話,說明該表沒有成功導(dǎo)入,這時就要回去查看自己的操作是否正確了. 三,數(shù)據(jù)修改 1,由于SQL2000里面沒有自動編號,所以你的以自動編號設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的標示選擇是,種子為1,增量為1, 2,另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來屬性為是/否的字段將被轉(zhuǎn)換成非空的bit,這時候你必須修改成自己想要的屬性了; 3,另外,大家要注意對時間函數(shù)的把握.ACCESS與SQL是有很多不同的. ACCESS轉(zhuǎn)MS SQL數(shù)據(jù)庫的幾點經(jīng)驗 1.ACCESS的數(shù)據(jù)庫中的自動編號類型在轉(zhuǎn)化時,sql server并沒有將它設(shè)為自動編號型,我們需在SQL創(chuàng)建語句中加上identity,表示自動編號! 2.轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認為smalldatetime型,我們Z好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功。 3.對此兩種數(shù)據(jù)庫進行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進行刪除紀錄時用:delete * from user where id=10,而對SQL SERVER數(shù)據(jù)庫進行刪除是用:delete user where id=10. 4.日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對SQL SERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。 5.在對ACCESS數(shù)據(jù)庫處理中,sql語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQL SERVER數(shù)據(jù)庫處理中,卻不能用。
-
贊(4)
回復(fù)(0)
-
- cq莯莯 2011-07-12 00:00:00
- 1、必須先安裝Microsoft Office Access 2003,和SQL Server數(shù)據(jù)庫。 2、用Access 2003打開動數(shù)據(jù)庫,打開后按工具欄——數(shù)據(jù)庫實用工具——轉(zhuǎn)換數(shù)據(jù)庫——轉(zhuǎn)換為2002-2003格式,把數(shù)據(jù)庫轉(zhuǎn)換成2003格式。 3、轉(zhuǎn)換完成后再用Access 2003打開,打開后按工具欄——數(shù)據(jù)庫實用工具——升遷向?qū)А陆〝?shù)據(jù)庫——填寫SQL數(shù)據(jù)庫登陸名稱、密碼和要新建的數(shù)據(jù)庫(準備轉(zhuǎn)成新的數(shù)據(jù)庫),按下一步,按“ 》”鍵,再按下一步,選取所有選項,再按下一步,選擇“不對應(yīng)用程序作任何改動”,再按完成。 4、打開SQL企業(yè)管理器——數(shù)據(jù)庫---選中相應(yīng)的數(shù)據(jù)庫---右鍵所有任務(wù)-----生成SQL腳本——常規(guī)——全部顯示——編寫全部對象腳本——確定(記住存放的位置)。 5、用記事本打開剛才生成的SQL腳本,在編輯欄——替換——查找內(nèi)容為“smalldatetime”替換為“datetime”——替換全部;完成后再在編輯欄——替換——查找內(nèi)容為“nvarchar”替換為“varcha”——替換全部,完成后保存退出。 6、打開SQL企業(yè)管理器——數(shù)據(jù)庫——點擊新建的數(shù)據(jù)庫,然后在工具欄——SQL查詢分析器——文件——打開——“剛才生成的SQL腳本”——查詢——執(zhí)行,然后關(guān)閉窗口。 7、再回到SQL企業(yè)管理器——數(shù)據(jù)庫——點擊新建的數(shù)據(jù)庫,然后打開工具欄——數(shù)據(jù)庫轉(zhuǎn)換服務(wù)——導(dǎo)入數(shù)據(jù)——下一步——數(shù)據(jù)源“Microsoft Access”文件名“為舊的acc數(shù)據(jù)庫”——下一步——再下一步——從源數(shù)據(jù)復(fù)制表和視圖——下一步——全選——下一步——立即運行——下一步——完成。 8、Z后補充: (1)由于SQL2000里面沒有"自動編號",所以你的以"自動編號"設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的"標示"選擇"是",種子為"1",增量為"1", (2)另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來屬性為"是/否"的字段將被轉(zhuǎn)換成非空的"bit",這時候你必須修改成自己想要的屬性了; (3)另外,大家要注意對時間函數(shù)的把握.ACCESS與SQL是有很多不同的. 根據(jù)以上3點,再回到SQL企業(yè)管理器——數(shù)據(jù)庫——點擊這個數(shù)據(jù)庫下新建的數(shù)據(jù)庫,將所有表的字段屬性根據(jù)以上3點進行修改 補充說明: 自動增加字段需要重寫。在access中經(jīng)常使用的自動編號字段,導(dǎo)入到mssql后,他并不是自增型的int,需要手工設(shè)置,把導(dǎo)入后的自動編號字段的標識的“否”改為“是”,“種子”和“遞增量”都為“1”,才能成為自動編號 所有的默認值都丟失了。主要是數(shù)字類型和日期類型 所有now(),time(),date()要改成getdate() 所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2) 所有datediff(‘ww‘, time1, time2)要改成datediff(week, time1, time2) 所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2) 在mssql server中,有許多保留字,在access中是沒有的,當你把數(shù)據(jù)導(dǎo)入到mssql的時候,問題就出來了。mssql在導(dǎo)入的時候,會自動給這些字段(包括數(shù)據(jù)庫中的表名)加上“[字段名]”,因此,你必須修改你的腳本,把相應(yīng)的字段名字(或者表名字)加上中括號,或改變字段名字為不是mssql的保留字 在用access關(guān)于時間的使用,大家喜歡使用“select * from aaaa while time="&now()”這樣的sql語句,然而,在mssql中沒有“now()”這個函數(shù),而是使用“getdate()”,所以,所有的sql語句中的“now()”必須換成“getdate()”。 日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對 SQL SERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。 轉(zhuǎn)化時,跟日期有關(guān)的字段,SQL SERVER默認為smalldatetime型,我們Z好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。有時用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功 isnull(rowname)要改成rowname = null CursorType要改成1,也就是打開數(shù)據(jù)庫時要給出diyi個數(shù)字參數(shù)為1,否則記錄可能 顯示不完整 備注類型要通過cast(column as varchar)來使用 true/false類型不能使用,要變?yōu)?/0 對此兩種數(shù)據(jù)庫進行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進行刪除紀錄時用:"delete * from user where id=10",而對SQL SERVER數(shù)據(jù)庫進行刪除是用:"delete user where id=10". 在對ACCESS數(shù)據(jù)庫處理中,sql語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQL SERVER數(shù)據(jù)庫處理中,卻不能用 在access的sql語句中的時間使用變量查詢的時候,大家一般使用"select * from aaaa while time=#"&變量名&"#",在mssql中是不行的,他的語法是“select * from aaaa while time=‘"&變量名&"‘"”。(意思是讓你把日期時間變量當成字符串來使用,呵呵~~~) 原來ASP里的“DELETE * FROM ……”要改為“DELETE FROM ……” 有可能rs.update失敗,修改成update 表名 set 字段=‘值’ 這樣通過(遇到的情況,提示為: Microsoft OLE DB Provider for SQL Server 錯誤 ‘80040e38‘ 樂觀并發(fā)檢查失敗。已在此游標之外修改了該行。 /Admin_ClassOrder.asp,行 164 ) access里面除法可以使用"\"或者"/",MSSQL里面只能使用"/" 第二份收集的 1.數(shù)據(jù)庫導(dǎo)入以后,自動增加字段需要重寫,所有的數(shù)字類型需要增加長度,Z好用bigint。 2.所有的默認值都丟失了。主要是數(shù)字類型和日期類型。 3.所有sql語句中的now(),time(),date()要改成getdate()。 4.所有sql語句中的datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2),相應(yīng)的其他日期屬性也需要更改。 5.有可能一些true/false的判斷語句不能正常使用了,這里是指用整數(shù)型來表達bool的情況,要變?yōu)?/0。 6.備注類型要通過cast(column as varchar)來使用。 7.CursorType要改成1,也就是打開數(shù)據(jù)庫時要給出diyi個數(shù)字參數(shù)為1,否則記錄可能 顯示不完整。也就是說,一般要寫成rs.open sql, conn, 1。 8.isnull(rowname)要改成rowname = null 9.程序里如果有直接對整型變量的判斷,也需要進行顯示的轉(zhuǎn)換,如: if rs("id") = 0 then 要變?yōu)?if clng(rs("id")) = 0 then
-
贊(2)
回復(fù)(0)
熱門問答
- 怎樣將ACC數(shù)據(jù)庫轉(zhuǎn)換為SQL數(shù)據(jù)庫?需要哪些輔助軟件?
2011-07-11 08:31:15
546
2
- 即時通訊軟件sql數(shù)據(jù)庫中需要哪些數(shù)據(jù)
2016-09-30 06:01:10
315
1
- 請問安裝數(shù)據(jù)庫SQL時,之前需要安裝哪些軟件?
- 安裝SQL哪個版本會比較好一些?... 安裝SQL哪個版本會比較好一些? 展開
2011-10-18 06:39:58
447
2
- 數(shù)據(jù)庫編程需要哪些軟件?
2014-06-15 16:24:45
500
1
- 用sql數(shù)據(jù)庫怎么做軟件測試
2017-09-13 18:32:02
475
1
- 蒼穹軟件連不上SQL數(shù)據(jù)庫為什么
2012-05-20 13:25:58
306
5
- sql軟件連接數(shù)據(jù)庫失敗怎么辦
2017-11-21 14:09:55
536
1
- 本地sql數(shù)據(jù)庫怎么與遠程sql數(shù)據(jù)庫同步
2017-12-14 00:59:56
372
1
- SQL數(shù)據(jù)庫安裝后怎樣與工控軟件連接
2015-12-12 15:28:26
505
1
- 正在學(xué)習(xí)SQL數(shù)據(jù)庫語言,用什么軟件?
2017-03-20 16:19:42
371
1
- 做一個數(shù)據(jù)庫,需要什么軟件?
2018-04-10 10:10:36
404
1
- access數(shù)據(jù)庫需要什么軟件
2017-01-11 19:43:34
441
1
- sql 2008附加數(shù)據(jù)庫步驟
2011-05-31 22:39:36
388
3
- 學(xué)習(xí)數(shù)據(jù)庫需要下載的軟件
- 電腦是windows7的,32位... 電腦是windows7的,32位 展開
2012-09-10 19:54:35
369
1
- 數(shù)據(jù)庫打不開需要下載什么軟件
2016-05-12 18:31:46
226
1
- 用到sql server數(shù)據(jù)庫 開發(fā)的軟件 必須安裝sql server 2005嗎
- 急求!!!!!!!!!!!!!!!!!!!!!我開發(fā)一個軟件不想讓客戶再去安裝sqlserver這個編程軟件了希望通過一個類似插件的東西省去安裝sqlserver的步驟... 急求!!!!!!!!!!!!!!!!!!!!! 我開發(fā)一個軟件 不想讓客戶再去安裝 sql server 這個編程軟件了 希望通過一個類似插件的東西 省去安裝sql server 的 步驟 展開
2012-09-24 03:18:01
468
6
- 如何查詢軟件目錄對應(yīng)的SQL數(shù)據(jù)庫的表
- 如何查詢軟件目錄對應(yīng)的SQL數(shù)據(jù)庫的表... 如何查詢軟件目錄對應(yīng)的SQL數(shù)據(jù)庫的表 展開
2014-09-28 00:45:03
515
4
- sql server 數(shù)據(jù)庫 還可以用什么軟件可以打開呢
2010-04-24 01:42:58
616
4
- 需要怎樣的數(shù)據(jù)庫技術(shù)支撐
2017-11-27 22:29:22
357
1
- 除了SQLSERVER還有哪些工具軟件可以創(chuàng)建SQL數(shù)據(jù)庫。
- 剛學(xué)這個,想弄個簡單點的,SERVER太大了,有沒有簡單的工具能創(chuàng)建SQL數(shù)據(jù)庫的。不要ACCESS數(shù)據(jù)庫,要網(wǎng)絡(luò)版的。另外,數(shù)據(jù)庫能不能放FTP空間,暫沒有專門的服務(wù)器用來放數(shù)據(jù)庫。... 剛學(xué)這個,想弄個簡單點的,SERVER太大了,有沒有簡單的工具能創(chuàng)建SQL數(shù)據(jù)庫的。 不要ACCESS數(shù)據(jù)庫,要網(wǎng)絡(luò)版的。 另外,數(shù)據(jù)庫能不能放FTP空間,暫沒有專門的服務(wù)器用來放數(shù)據(jù)庫。 展開
2018-12-06 14:24:04
385
0
4月突出貢獻榜
推薦主頁
最新話題





參與評論
登錄后參與評論