日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解析Access與Sql Server之ASP代碼比較(5)_Access數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:解析ACCESS作為網(wǎng)站數(shù)據(jù)庫的弊端
現(xiàn)在網(wǎng)上絕大多數(shù)網(wǎng)站都是ACCESS+ASP的形式,因為ACCESS結(jié)構(gòu)簡單容易處理,而且也能滿足多數(shù)的網(wǎng)站程序要求。 ACCESS是小型數(shù)據(jù)庫,既然是小型就有他根本的局限性,以下幾種情況下數(shù)據(jù)庫基本上會吃不消: 1。數(shù)據(jù)庫過大,一般ACCESS數(shù)據(jù)庫達(dá)到50M左右的時候

smallmoney(smallmoney數(shù)據(jù)類型:Access項目中的一種存儲貨幣值的數(shù)據(jù)類型,取值范圍從-214,748.3648到214,748.3647,精確度為萬分之一個貨幣單位。當(dāng)顯示smallmoney值時,會將它們四舍五入為兩個小數(shù)位。)
小數(shù)/數(shù)值(decimal數(shù)據(jù)類型(Access數(shù)據(jù)庫):精確的數(shù)值數(shù)據(jù)類型,用于存儲-10^38-1到10^38-1的值�?梢灾付〝�(shù)值范圍(最大總位數(shù))和精度(小數(shù)點右邊的最大位數(shù))。)decimal(decimal數(shù)據(jù)類型(Access項目):精確的數(shù)值數(shù)據(jù)類型,用于存儲-10^38-1到10^38-1的值�?梢灾付〝�(shù)值范圍(最大總位數(shù))和精度(小數(shù)點右邊的最大位數(shù))。)

numeric(numeric數(shù)據(jù)類型:在Access項目中,一種精確的數(shù)值數(shù)據(jù)類型,取值從-10^38-1到10^38-1。可以指定數(shù)值范圍(最大總位數(shù))和精度(小數(shù)點右邊的最大位數(shù))。)
日期/時間(“日期/時間”數(shù)據(jù)類型:Access數(shù)據(jù)庫的一種數(shù)據(jù)類型,用來存放日期和時間信息。)datetime(datetime數(shù)據(jù)類型:在Access項目中,日期和時間的數(shù)據(jù)類型,范圍從1753年1月1日到9999年12月31日,精確度為三百分之一秒,即3.33毫秒。)

smalldatetime(smalldatetime數(shù)據(jù)類型:Access項目中的一種日期和時間數(shù)據(jù)類型,精度不如datetime時間數(shù)據(jù)類型。數(shù)據(jù)取值范圍從1900年1月1日到2079年6月6日,精確度為一分鐘。)
自動編號(“自動編號”數(shù)據(jù)類型:MicrosoftAccess數(shù)據(jù)庫中的一種字段數(shù)據(jù)類型,當(dāng)向表中添加一條新記錄時,這種數(shù)據(jù)類型會自動為每條記錄存儲一個唯一的編號。可以產(chǎn)生三種編號:順序號、隨機(jī)號和同步復(fù)制ID。)(遞增)int(int數(shù)據(jù)類型:Access項目中的一種4字節(jié)(32位)數(shù)據(jù)類型,存儲位于-2^31(-2,147,483,648)與2^31-1(2,147,483,647)之間的數(shù)字。)(定義了Identity屬性)
文本(“文本”數(shù)據(jù)類型:MicrosoftAccess數(shù)據(jù)庫中的一種字段數(shù)據(jù)類型。“文本”數(shù)據(jù)類型最多可以包含255個字符,或者是由FieldSize屬性指定的一個小一些的字符數(shù)。)(n)varchar(n)(varchar(n)數(shù)據(jù)類型:Access項目中的一種可變長度的數(shù)據(jù)類型,最大長度為8,000個ANSI字符。)

nvarchar(n)(nvarchar(n)數(shù)據(jù)類型:在Access項目中,一種可變長度的數(shù)據(jù)類型,最多可含4,000個Unicode字符。Unicode字符每字符占兩個字節(jié),而且支持所有國際字符。)
備注(“備注”數(shù)據(jù)類型:在MicrosoftAccess數(shù)據(jù)庫中的一種字段數(shù)據(jù)類型。“備注”字段最多可以包含65,535個字符。)text(text數(shù)據(jù)類型:Access項目中的一種長度可變的數(shù)據(jù)類型,最多可存儲2^31-1(2,147,483,647)個字符;默認(rèn)長度為16。)
OLE對象(“OLE對象”數(shù)據(jù)類型:字段的數(shù)據(jù)類型之一,用于在其他應(yīng)用程序中創(chuàng)建的、可鏈接或嵌入(插入)到Access數(shù)據(jù)庫中的對象。)image(image數(shù)據(jù)類型:在Access項目中,一種長度可變的數(shù)據(jù)類型,最多可存儲2^31-1(2,147,483,647)字節(jié)的二進(jìn)制數(shù)據(jù)。image數(shù)據(jù)類型用來存儲BLOB(二進(jìn)制大對象),如圖片、文檔、聲音和已編譯代碼。)
同步復(fù)制ID(又名全局唯一標(biāo)識符(GUID:在Access數(shù)據(jù)庫中,一種用于建立同步復(fù)制唯一標(biāo)識符的16字節(jié)字段。GUID用于標(biāo)識副本、副本集、表、記錄和其他對象。在Access數(shù)據(jù)庫中,GUID是指同步復(fù)制ID。)(GUID))uniqueidentifier(uniqueidentifier數(shù)據(jù)類型:在Access項目中,16字節(jié)的全局唯一標(biāo)識符(GUID)。)(僅適于SQLServer7.0或更高版本)
超鏈接(“超鏈接”數(shù)據(jù)類型:存儲超鏈接地址的Access數(shù)據(jù)庫字段的數(shù)據(jù)類型。地址最多可以包含四部分,用以下語法格式編寫:displaytext#address#subaddress#。)char(char數(shù)據(jù)類型:在Access項目中,一種固定長度的數(shù)據(jù)類型,最多可含8,000個ANSI字符。),

nchar(nchar數(shù)據(jù)類型:在Access項目中,一種固定長度的數(shù)據(jù)類型,最多可含4,000個Unicode字符。Unicode字符每字符占兩個字節(jié),而且支持所有國際字符。),varchar,nvarchar(Hyperlink屬性設(shè)為Yes)
(無等價的數(shù)據(jù)類型)varbinary(varbinary數(shù)據(jù)類型:Access項目中的一種可變長度的數(shù)據(jù)類型,最多可存儲8,000字節(jié)的二進(jìn)制數(shù)據(jù)。)
(無等價的數(shù)據(jù)類型)smallint(smallint數(shù)據(jù)類型:Access項目中的一種2字節(jié)(16位)數(shù)據(jù)類型,存儲位于-2^15(-32,768)與2^15-1(32,767)之間的數(shù)字。)
(無等價的數(shù)據(jù)類型)timestamp(timestamp數(shù)據(jù)類型:在Access項目中,一種每插入或更新一行就會自動更新的數(shù)據(jù)類型。timestamp列中的值不是datetime數(shù)據(jù),而是binary(8)或varbinary(8),標(biāo)明了數(shù)據(jù)修改的順序。)
(無等價的數(shù)據(jù)類型)charnchar
(無等價的數(shù)據(jù)類型)sql_variant(sql_variant數(shù)據(jù)類型:Access項目中的一種數(shù)據(jù)類型,存儲除text、ntext、image、timestamp和sql_variant類型以外的多種數(shù)據(jù)類型的值。在列、參數(shù)、變量或用戶定義函數(shù)的返回值中使用。)
(無等價的數(shù)據(jù)類型)用戶定義(用戶定義的數(shù)據(jù)類型:在MicrosoftSQLServer數(shù)據(jù)庫中,允許某列包含的數(shù)據(jù)的類型定義,由用戶利用現(xiàn)有的系統(tǒng)數(shù)據(jù)類型定義。規(guī)則和默認(rèn)值僅可以綁定到用戶定義的數(shù)據(jù)類型。)

注釋在Access項目或SQLServer數(shù)據(jù)庫中,前綴“n”代表“國家/地區(qū)”,意思是這個數(shù)據(jù)類型是啟用Unicode的。在Access數(shù)據(jù)庫中,全部文本列在默認(rèn)情況下都是啟用Unicode的。
ACCESS轉(zhuǎn)SQL需要注意的問題
2006-2-13 16:01:20
很多朋友想用SQL2000數(shù)據(jù)庫的編程方法,但是卻又苦于自己是學(xué)ACCESS的,對SQL只是一點點的了解而已,這里我給大家提供以下參考---將ACCESS轉(zhuǎn)化成SQL2000的方法和注意事項
一,首先,我說的是在ACCESS2000,SQL2000之間轉(zhuǎn)換,其他的我也還沒有嘗試過,希望大家多多試驗,肯定是有辦法的;
二,轉(zhuǎn)換的方法
1,打開”控制面板“下”管理工具“中的”數(shù)據(jù)庫源“;
2,按”添加“添加一個新的數(shù)據(jù)源,在選擇欄里選”DriverdomicrosoftAccess
(*.mdb)”,完成后將出現(xiàn)一個框,

在”數(shù)據(jù)庫源“里面輸入你想寫的名稱,我取名叫“ABC”,說明不需要填,接著,按下面的選擇,尋找你的數(shù)據(jù)庫地址和選中(注意,請先備份自己的ACCESS數(shù)據(jù)庫),然后確定。
數(shù)據(jù)源在這里建好了,剩下轉(zhuǎn)換了。

3,打開SQL2000企業(yè)管理器,進(jìn)入數(shù)據(jù)庫,新建一個空的數(shù)據(jù)庫“ABC”;
4,選擇新建立的數(shù)據(jù)庫,按鼠標(biāo)右鍵,選擇“所有任務(wù)”下“導(dǎo)入數(shù)據(jù)”,按“下一步”繼續(xù);
5,在數(shù)據(jù)庫源下拉但中選擇”DriverdomicrosoftAccess(*.mdb)“,在”用戶/系統(tǒng)DSN“中,選種你剛才添加的”ABC“,按”下一步“;
6,“目的”不需要修改,選擇服務(wù)器(一般下為自己的本機(jī)"local",也可以選擇服務(wù)器地址或者局域網(wǎng)地址,確定你的權(quán)限是否可以操作,),"使用WINDOWS身份驗證"指用自己的系統(tǒng)管理員身份操作,"使用SQL身份操作驗證"可以用于網(wǎng)站的操作,推薦用后者;
7,選上"使用SQL身份操作驗證"后,填寫你的用戶名和密碼,我自己選擇的是系統(tǒng)默認(rèn)號碼"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ū)?quot;,看"立即運(yùn)行"被選中按"下一步",
11,按"完成"繼續(xù);
12,這個步驟你將看到你的數(shù)據(jù)被導(dǎo)入SQL2000里面,當(dāng)出現(xiàn)"已經(jīng)成功把XXX個表導(dǎo)入到數(shù)據(jù)庫"的字樣,而且所有的表前面都有綠色的勾,就表示成功導(dǎo)入所有數(shù)據(jù),如果中途出現(xiàn)問題或者表前面有紅色的*的話,說明該表沒有成功導(dǎo)入,這時就要回去查看自己的操作是否正確了.

三,數(shù)據(jù)修改
1,由于SQL2000里面沒有"自動編號",所以你的以"自動編號"設(shè)置的字段都會變成非空的字段,這就必須手工修改這些字段,并把他的"標(biāo)示"選擇"是",種子為"1",增量為"1",
2,另外,ACCESS2000轉(zhuǎn)換成SQL2000后,原來屬性為"是/否"的字段將被轉(zhuǎn)換成非空的"bit",這時候你必須修改成自己想要的屬性了;
3,另外,大家要注意對時間函數(shù)的把握.ACCESS與SQL是有很多不同的.

四、相關(guān)的字段問題

1.ACCESS的數(shù)據(jù)庫中的自動編號類型在轉(zhuǎn)化時,sqlserver并沒有將它設(shè)為自動編號型,我們需在SQL創(chuàng)建語句中加上identity,表示自動編號!
2.轉(zhuǎn)化時,跟日期有關(guān)的字段,SQLSERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉(zhuǎn)化失敗,而用datetime型時,轉(zhuǎn)化成功。
3.對此兩種數(shù)據(jù)庫進(jìn)行操作的sql語句不全相同,例如:在對ACCESS數(shù)據(jù)庫進(jìn)行刪除紀(jì)錄時用:"delete*fromuserwhereid=10",而對SQLSERVER數(shù)據(jù)庫進(jìn)行刪除是用:"deleteuserwhereid=10".
4.日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對SQLSERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。
5.在對ACCESS數(shù)據(jù)庫處理中,sql語句中直接可以用一些VB的函數(shù),像cstr()函數(shù),而對SQLSERVER數(shù)據(jù)庫處理中,卻不能用。

五、相關(guān)語句問題
自動增加字段需要重寫。在access中經(jīng)常使用的自動編號字段,導(dǎo)入到mssql后,他并不是自增型的int,需要手工設(shè)置,把導(dǎo)入后的自動編號字段的標(biāo)識的“否”改為“是”,“種子”和“遞增量”都為“1”,才能成為自動編號


所有的默認(rèn)值都丟失了。主要是數(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)


在mssqlserver中,有許多保留字,在access中是沒有的,當(dāng)你把數(shù)據(jù)導(dǎo)入到mssql的時候,問題就出來了。mssql在導(dǎo)入的時候,會自動給這些字段(包括數(shù)據(jù)庫中的表名)加上“[字段名]”,因此,你必須修改你的腳本,把相應(yīng)的字段名字(或者表名字)加上中括號,或改變字段名字為不是mssql的保留字,在用access關(guān)于時間的使用,大家喜歡使用“select*fromaaaawhiletime="&now()”這樣的sql語句,然而,在mssql中沒有“now()”這個函數(shù),而是使用“getdate()”,所以,所有的sql語句中的“now()”必須換成“getdate()”。


日期函數(shù)不相同,在對ACCESS數(shù)據(jù)庫處理中,可用date()、time()等函數(shù),但對SQLSERVER數(shù)據(jù)庫處理中,只能用datediff,dateadd等函數(shù),而不能用date()、time()等函數(shù)。轉(zhuǎn)化時,跟日期有關(guān)的字段,SQLSERVER默認(rèn)為smalldatetime型,我們最好將它變?yōu)閐atetime型。

 

分享:揭秘Access數(shù)據(jù)庫過大問題的幾種解決方案
問題: 1、我的Access數(shù)據(jù)庫里面沒存多少數(shù)據(jù),為什么體積很大,別人和我存一樣的數(shù)據(jù)為什么只有我的文件體積的1/10。 2、為什么我刪除了數(shù)據(jù),但是數(shù)據(jù)庫體積沒有減��? 3、為什么我存了幾張圖片到ole字段里面數(shù)據(jù)庫體積就變大,而且變大的速度超過圖片的總

共5頁上一頁12345下一頁
來源:模板無憂//所屬分類:Access數(shù)據(jù)庫教程/更新時間:2010-02-26
相關(guān)Access數(shù)據(jù)庫教程

Access數(shù)據(jù)庫教程Rss訂閱編程教程搜索