大笨貓的部落格
給所有光臨大笨貓Blog的朋友們:

這邊主要分享貓貓的生活雜記和心得,
還有一些個人的生涯規劃、進修考試,
以及其他一些不錯的文章轉載和大家分享.
也希望大伙來晃晃時, 順便留個言給貓貓知道唷!
感謝您的支持, 要常來ㄋㄟ....^_^
有Blog的朋友們歡迎交換聯結.

目錄說明:
關於Mark - 這就不用多說了吧!
生活記事 - 所有的生活日記和心得分享
證照考試 - 從學生至今參加過的證照考試記錄(部份保留)
修行紀錄 - 聖脈日記, 休筆中...約還有近100篇未放
貓言貓語 - 放貓貓電子報的發刊紀錄
個人創作 - 目前只有一篇, 有近200篇都在我的BBS版, 找時間再轉上來
導師法語 - 要放聖脈法語的... 還沒動... @.@
認證資訊整理 - 從各認證考試情報網收集整理
技術文章轉載 - 工作中找到的一些技術文章轉載
精選文章轉載 - 主要轉載各大雜誌電子版文章
資訊文章轉載 - 主要轉載 ithome 不錯的文章或主題

  • 1 
瀏覽模式: 普通 | 列表

磁碟陣列(RAID)說明

何謂 RAID(Redundant Array of Inexpensive Disks)?

現今儲存業界所面臨的兩個主要挑戰為:藉由改善磁碟 I/O 的生產力以跟上電腦系統與日漸增之效能需求的腳步,以及在硬碟發生問題時提供資料的存取度。

RAID (獨立磁碟多重陣列) 的構想最先是由加州柏克萊大學的 David A. Patterson、Garth Gibson 及 Randy H. Katz 在 1988 年所提出的。RAID 的目的在於將相同的資料儲存在多個磁碟機中不同的地方,並且改善儲存子系統的效能。RAID 的優點為提供更好的生產力效能及/或資料錯誤容忍度。透過將工作量平行分散到多個實體磁碟機中可以達到較好的效能。而藉由資料多重操作,當一個 (或多個) 磁碟機或磁區發生問題時,可以在另一個磁碟機中找到資料的映射拷貝,則可達到錯誤容忍度。

RAID 在作業系統中顯示為一個單一的邏輯磁碟機。RAID 控制器控制資料如何在實體及邏輯陣列之間被儲存及存取。RAID 控制器協助使用者確保作業系統僅看得見邏輯磁碟機,同時使用者也不需要擔心如何管理此複雜的架構。

為了獲得最佳的結果,請選擇同一個磁碟機安裝在磁碟陣列。磁碟機的配對效能讓陣列能夠運作得比單一的磁碟機更好。


各階層磁碟陣列(RAID)介紹:

磁碟陣列是由2個以上的硬碟,模擬一個邏輯硬碟出現在系統中;使用磁碟陣列控制器以達成其存在,利用不同陣列形式,模擬各種層級。現在我們先來了解磁碟陣列(RAID)到底有幾種模式,一般最常提到及應用的RAID層級分為0、1、0+1、3及5。另外還有一些極少用到的RAID 4及RAID 6在此我們就不提它了。


以下就是各個階層的介紹及圖解:

RAID 0:Striping/Span (切分/延展)
RAID 1:Mirroring (磁碟鏡射)
RAID 0+1:Mirror + Striping (磁碟鏡射+切分/延展)
RAID 3:Parallel with Parity (平行同位元檢查)
RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)

RAID 0:Striping/Span (切分/延展) RAID 0,它是將資料儲存在2個以上的硬碟機,其將全部磁碟機的儲存容量合併,藉由將資料切分到全部的磁碟機上,進行平行讀寫,而達到提高效能增加容量。但是缺點是完全沒有容錯能力,只要有一個磁碟故障,就會導致陣列磁碟的所有資料,毀於一旦無法挽回。




RAID 1:Mirroring (磁碟鏡射)
RAID 1,必須由2個以上的硬碟所組成,由磁碟陣列(RAID)來控制,將資料同時寫入第1個與第2個硬碟,其2組硬碟上的資料完全相同,也就是其中一個硬碟是用來作備份用途;當其中有一個硬碟故障時,系統照常運作正常。RAID 1是所有RAID階層上,經濟效益最好,效能很高,極佳的資料安全性。是所有階層中使用最多最廣最符合當初RAID設計概念的一種。唯一小缺點是,其陣列磁碟容量是全部硬碟容量的一半。



RAID 0+1:
Mirror + Striping (磁碟鏡射+切分/延展) RAID 0+1,是結合了RAID 0與1兩種模式,這個階層須具備4個或以上的雙數硬碟所組成。這個模式是由2個硬碟遵守RAID 0規範,設定成一組,再由每組間遵循RAID 1的規範,使RAID 0+1擁有容錯力及整體讀寫速度與資料安全性。不過,缺點是成本很高。



RAID 3:Parallel with Parity (平行同位元檢查)
RAID 3,最少須3個硬碟或以上,這個階層的磁碟陣列具備了同位元高階智慧型演算法,利用一個硬碟來儲存其運算出來的同位元值的資料。當陣列磁碟中有一個硬碟發生故障時(當然不能是同位元碟),只要換上新硬碟後,磁碟陣列控制器就能利用同位元碟的資料,重新演算得到其舊有資料並回寫建立。因為其同位元檢查資料是將資料切割成數個區段,利用XOR演算法計算出同位元資料;而其區段以Bytes計算時,稱為RAID 3,如果是以Block計算時,就稱為RAID 4。所以RAID 3在整體讀寫效能會較慢較差,但在成本上會比RAID 0+1還省一點,其陣列磁碟整體容量計算公式為N-1。

RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)
RAID 5,最少須3個硬碟,其工作原理與RAID 3相似,主要差別是其同位元資料沒有固定在同個硬碟,是以輪流方式儲存在每個硬碟上,故稱輪轉同位元。當磁碟陣列控制器利用XOR演算出同位元檢查資料後,會隨著資料分別寫入各台硬碟上,因此整體讀寫效能比RAID 3要好一些,當然比RAID 0要差。不過在大型資料處理時,需同時讀寫多個硬碟,而同位元檢查是由磁碟陣列控制器的XOR邏輯所控制的,所以資料處理越大越多時,一定會有所遺失,但這個階層的RAID還是可以提供很高的容錯能力。

RAID 等級的硬碟機容量








資料來源:
http://www.aopen.com.tw/tech/techinside/RAID.htm
http://home.so-net.com.hk/~lfchan/ebook/source/266.htm


RAID模式一覽:安全性與效能分析

RAID模式 硬碟數量 資料安全性 可利用性 實際容量 傳輸效能 架設成本
0 1+ 略差 極差 100% 極佳 極低
1 2 良好 良好 50% 尚可 偏低
3 3+ 尚可 良好 (x-1)/ x 尚可 中等
5 3+ 尚可 良好 (x-1)/ x 良好 中等
0+1 4、6、8… 良好 良好 50% 良好 中等

找出 Table 的大小

DECLARE @tblname varchar(50)            --資料表名稱(使用者資料表名稱變數)
if exists (select * from dbo.sysobjects
            where id = object_id(N'dbo.#tmpStatics')
              and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE #tmpStatics   --暫存資料表

CREATE TABLE #tmpStatics (        --建立暫存資料表
  name       varchar(50)  NULL ,  --資料表名稱
  rows       varchar(50)  NULL ,  --資料表現有的資料列數
  reserved   varchar(50)  NULL ,  --資料庫中的物件所配置的空間大小
  data       varchar(50)  NULL ,  --資料所用的空間大小
  index_size varchar(50)  NULL ,  --索引所用的空間大小
  unused     varchar(50)  NULL )  --保留給資料庫中之物件但尚未使用的空間大小
 
DECLARE cur_TableStatics CURSOR FORWARD_ONLY FOR
    SELECT name FROM sysobjects
     WHERE xtype='U' ORDER BY name               --取得使用者資料表名稱
OPEN cur_TableStatics
FETCH NEXT FROM cur_TableStatics
INTO @tblname
  WHILE @@FETCH_STATUS = 0
  BEGIN 
    INSERT #tmpStatics
      EXEC sp_spaceused @tblname,@updateusage = N'TRUE'    --顯示資料表的相關磁碟空間資訊
    FETCH NEXT FROM cur_TableStatics
    INTO @tblname
  END
CLOSE cur_TableStatics
DEALLOCATE cur_TableStatics

SELECT name,rows,
       CONVERT(NUMERIC(18,2),SUBSTRING(reserved,1,LEN(reserved)-2))/1024 AS Reserved, -- MB
       CONVERT(NUMERIC(18,2),SUBSTRING(data,1,LEN(data)-2))/1024 AS Data,
       CONVERT(NUMERIC(18,2),SUBSTRING(index_size,1,LEN(index_size)-2))/1024 AS Index_Siz,
       CONVERT(NUMERIC(18,2),SUBSTRING(unused,1,LEN(unused)-2))/1024 AS Unused
  FROM #tmpStatics
 WHERE rows <> '0'
 ORDER BY Data
 
DROP TABLE #tmpStatics                               --移出暫存資料表

各種顏色的光碟用途

現在光碟的種類越來越多,
顏色也越來越多種,

剛看到有人對光碟的顏色解釋,
不知道是不是真的,
現在網路上騙人的文章頗多,

總之有趣的文章就看一下吧...:)
不要太認真.

1、WATER BLUE(水藍色)
用最新的防DATA LOST技術,大大減少BufferUnder Run的情況,所以在一對一及一對多的1x-12x燒錄模式中擁有超強的穩定性。
最佳燒錄格式為:數據(DATA)

2、OMEGA BLACK(黑色)
純黑的材質,能防止光線損壞當中的有機染料,大大延長CD-R的壽命,保存更長時間。
最佳燒錄格式為:遊戲(GAMES、DATA、MP3、PS2)

3、PURPLE(紫色)
能防止光線損壞當中的有機染料,大大延長CD-R的壽命,保存更長時間。最佳燒錄格式為:遊戲(GAMES、DATA、PS2)

4、APPLE GREEN(蘋果綠色)
當中的有機染料對微弱訊號極為敏感,能令燒錄的音樂音域表露無遺,可以說是特別為數碼音樂而設。
最佳燒錄格式為:歌曲(DIGITAL AUDIO、MUSIC CD、DATA)

5、METALATE RED (金屬紅色)
能令雷射光完全穿過,使CD-R接收訊號完美無暇。
最佳燒錄格式為:音樂(MUSIC、CD、DATA)

6、COPPER MINE(礦黃色)
能令雷射光完全穿過,使CD-R接收訊號完美無暇。
最佳燒錄格式為:音樂(MUSIC、CD、DATA)

7、ORANGE(橙色)
能令雷射光完全穿過,使CD-R接收訊號完美無暇。
最佳燒錄格式為:音樂(MUSIC、CD、DATA、VCD)

8、DIAMOND(純銀色)
其燒錄面顏色與普通VCD無異,當中的「串音頻率」特別低,可令文件讀取時的線條或馬賽克出現減至最低。
最佳燒錄格式為:視頻文件(VCD、MPEG、FILE)

DVD 燒錄基本名詞解釋

現在的影音設備還真的誘人,
看一看都想敗家了,

DVD最近我也漸漸有在玩,
看了一些名詞真是亂七八糟,

找到一篇介紹DVD名詞的文章還不錯,
給大家參考.



由於越來越大量檔案的需求,或在影片的剪輯備份,DVD 燒錄器已然成為近來的熱門話題,也有越人越多人準備選購燒錄機. 由於單片容量就高達 4.7GB,是一般 CD-R 光碟片容量的七倍之多. 要是您很久沒有到賣場晃晃,您會發現目前市場上可供選擇的燒錄機竟然有不少台,又依規格之不同,有 DVD-R/DVD-RW/DVD-RAM/DVD+R/DVD+RW 這五種規格,但以燒錄機產品而言,使用者可以看到的會有三大類產品,這些產品統稱為紀錄型 DVD,可允許資料之紀錄與保存,在您選購之前,我們先對各種規格作簡要的介紹與說明.


什麼是DVD-RAM?

DVD-RAM這個規格,早在1997年就已經被DVD Forum 所完成確認,推出的時間最早. 負責主導開發的主要公司會社為日本Panasonic、日本HITACHI、日本TOSHIBA,以及後期才加入的日本Victor。DVD-RAM系統之所以這麼早就被開發出來,而且這麼快就被DVD Forum所承認,原因其實就是在於這幾家負責主導的公司會社,就是負責制定DVD-VIDEO等DVD規格的原班人馬,正因為這樣,DVD-RAM規格成為了DVD Forum最初主要的可覆寫式DVD 的代表。


DVD-RAM 必須在專用的 DVD-RAM 燒錄機或錄放影機上才能讀取,所以相容性相較於 DVD-RW 或是 DVD+RW 較差. 但是 DVD-RAM 的優點在於非線性的資料存取,可允許隨機方式存取資料, 用起來就像硬碟一樣,可以隨意刪除或增添檔案片段,所以其最大的性能優越就在於資料的存取上,它的特點為具備卡匣式包裝,最初開發的 DVD-RAM 1.0 版本 只有 2.6GB 以及雙面5.2GB容量,必須放在專用塑膠外殼內使用,像MO,MD一樣,同樣因為與DVD-ROM容量不相容的問題,也發展出DVD-RAM 2.0 版本.具備 4.7GB(單面)與 9.4GB(雙面) 的DVD-RAM碟片.


什麼是DVD-RW?


有鑒於DVD-RAM卡匣式設計,加上DVD-RAM 的種種不便,無法普遍應用在 DVD 相關家用器材,DVD-RW 因此而誕生。它也是受到 DVD Forum 所認可的唯一標準的規格, 此外, 因為DVD-R/RW的規格是世界DVD制定協會所制定的, 也是最具未來擴充性互換性的規格.

DVD-RW全名為DVD Re-recordable, 思是可覆寫型DVD-R,顧名思義它像DVD-R的功能一樣,但是可以重複讀寫, 有點類似 CD-RW的延伸,它的規格由Pioneer主導建立, 容量為4.7GB.


現今,具備高畫質高音質的DVD,為新一代的娛樂開啟另一片天空. 除了家用型DVD 播放機之外,DVD還有另一個鮮為人知的一面. CD音響,CD-ROM,甚至CD-R/RW已經廣為被大眾所接受,但現在我們也可以製作屬於自己的DVD了!不論是與電視連接錄影,與PC連接在DVD上紀錄屬於自己的影像作品等,都不再是夢想, 這些都是 DVD-RW 所提供的新娛樂功能.


同時由於可重複寫入之規格,使用者可以作為 DVD 影片的預錄,嘗試在 DVD 襏放機先試看效果,之後再決定燒入 DVD-R碟片之中,雖然不如 DVD-RAM 為非線性存取功能, 但低成本以及可靠的影像紀錄為其最大之優點!


什麼是 DVD-R


由於越來越大量資料的需求, DVD FORUM在DVD-R規格的制定上,就採取了以下四點作為基礎:

1. DVD-R是採用和 CD-R相同的新型紀錄系統。

2. DVD-R光碟片在記錄完成之後,具有對於一般DVD撥放機100%的互換性。

3. 支援Multi Session的紀錄方式。

4. DVD-R光碟片具有極高的Cost/Performance值。

DVD-R是由Pioneer公司所主導發展的可寫一次DVD規格, 最早發展的碟片容量是3.95GB,後來又發展出4.7GB的DVD-R光碟片, 版本 2.0. Pioneer 在推出 DVR-A03這款燒錄機之後, 降低燒錄機雷射頭成本及碟片的染料成本,使得DVD-R價格得以大眾化, 目前DVD-R 的應用主要為 DVD-R for General,意即為提供一般消費者使用, 市場上可以很容易買到的DVD-R空白片,一般都是DVD-R for General 的光碟片, 且為版本 2.0/ 4.7GB 之規格.

DVD-R的應用?

DVD-R的使用方式如同CD-R一般,可以用來記錄 DVD 影像及資料,除了 PC 用燒錄機外, Pioneer 也同時推出採用 DVD-R 儲存媒介的家庭影音用的錄影機,例如DVR-2000, DVR-7000這些家用設備,使得DVD-R/RW可以完全取代過去的影帶式錄影機,得到高畫質,搜尋快速,攜帶方便,相容性高的影片不再是難事.

DVD-R發展現況:

各家廠商無不積極生產相容於DVD-R的燒錄機,錄影機等相關產品,像是日本松下在其DVD-RAM的燒錄機及錄影機上就力求可以相容DVD-R的燒錄工作,DVD-R發展成為下一代主流儲存媒體的態勢明確, 目前碟片價格也是目前成本最低, 使用者接受度最高的儲存媒體. 目前所有於近期新推出的燒錄機均支援了 DVD-R 燒錄規格.

什麼是DVD+RW?


DVD+RW 是由日本SONY、荷蘭PHILIPS、日本RICHO以及美國HP這幾家會社,所共同推出。其等在評估過由日本Pioneer所領軍的DVD-RW系統之後,還是決定推除由其等所獨自的另外一種DVD系統─DVD+RW規格。


不過此規格並沒有正式受到DVD Forum的承認,所以DVD+RW可以說是處在一種有些尷尬的狀態,雖然強調和其他DVD家族成員有互換性,但是卻又被DVD家族排拒於門外,原DVD Forum一直到目前還是不承認DVD+RW這個系統。因此DVD+RW雖然目前是設計成相容於其他DVD家族成員,但是仍然沒有正式受到DVD Forum的承認,其註冊商標上只有 RW 兩個字.


目前推出的最新規格為 DVD+RW Version 2.0, 重點在於達成和 DVD 啵放機的高度互換性,使之能夠在 DVD 撥放機上進行撥放. 並具備類似 DVD-RAM 的非線性存取架構, 在儲存資料上可以提供隨機存取的功能. 不過由於發展時程較晚,因此在 DVD+RW 光碟片的成本以及能見度上都較低. 由於DVD Alliance已經放棄了原先片面記錄容量3.0GB的DVD+RW Version 1.0規格,因此目前在市面上發售的機材製品,絕對都是屬於DVD+RW Version 2.0的最新銳架構。

什麼是DVD+R?

既然 DVD Alliance已不顧原DVD Forum,自行開發其他更優秀的系統,那麼乾脆就一不做二不休,在一次寫入DVD的方面也採取獨自設計建構的路線DVD, 推出 DVD+R 規格, 與 DVD-R 互別苗頭。正因為如此,在以日本SONY、荷蘭PHILIPS、日本理光以及美國HP等主要會社為首的DVD Alliance也決定放棄原DVD FORUM所承認的DVD-R架構, 再推出另外一種新的方式─DVD+R架構。


DVD+R Version 1.0

DVD Alliance就些微改進了原DVD-R系統的光碟片架構,以及雷射頭的記錄/播放方式,讓DVD+R的光碟片採用和DVD+RW系統相同的分散式物理位址架構,這麼一來,就可以實現讓使用者在記錄「一次」資料之後,還有可以繼續使用剩餘的光碟片資料記錄空間!換句話說DVD+R系統是允許使用者用「多次」的方式來「分批」記錄資料的, 與 DVD-R 同樣屬於一次寫入的系統架構.


什麼是DVD MULTI?

從1975年民生用錄影系統誕生到現在,中間雖然經歷了無數次的系統規格大戰,交戰的雙方都是來自於不同的系統規格,這當然是無可厚非。但是這一次系統大戰的雙方,卻都是來自於相同的「DVD」規格,都是DVD Forum所承認的! 因此DVD Forum當然不會坐視不管。另外一方面,不顧DVD Forum反對,執意推出DVD+RW系統的DVD Alliance聯盟中,亦也有許多主要會社如日本SONY、荷蘭PHILIPS等,本身也是DVD Forum中的一員!這麼一來,也就發生了敵我無法分別的奇特狀況, 情況更為複雜!


DVD MULTI的提出

在這種相同性質的各種系統相互亂立狀況之下,由於各個DVD陣營之間相持不下,因而導致許多公司觀望都不敢冒然使用,所以造成 DVD 燒錄陣營更加延緩了其自身的普及速度!


關於這樣的嚴重問題,各個記錄型DVD的陣營其實都是相當了解,不過,由於DVD-RAM以及DVD-RW都是兩方陣營投下大筆資金所開發出來的成果,其中DVD-RAM更已經投入PC市場量產四年了,不可以說停就停,因此DVD Forum就想出了一個兩全其美的方法。而這個解決自己人互鬥之系統大戰的方法,就是DVD MULTI!

什麼是DVD MULTI? DVD Multi 並非是一種新規格,DVD MULTI為什麼在「DVD」和「MULTI」之間沒有一橫,DVD Forum絕對沒有再創造出何新的規格,DVD MULTI所定義的用意, 主要在於規格之整合, 並加速 DVD 陣營的快速普及.


DVD MULTI架構的現時點狀況

這麼一來,不但可以完全解決DVD-RAM以及DVD-RW自家人互鬥的尷尬局面,也可以讓使用者不必再花時間選擇要用什麼系統! 好處多多, 不過,由於採用DVD MULTI方式同時對應多種規格, 因此成本增加勢難避免! 而這可能就是採用DVD MULTI架構下唯一的缺點吧。


雖然DVD MULTI方式目前已經由DVD Forum完成其在架構上的規範,不過另外一方面,由於不受DVD規格制定小組承認的DVD+RW規格同樣也是來勢洶洶,再加上DVD+RW陣營也承認DVD-RW和DVD-R兩規格的趨勢,因此在由DVD MULTI統一DVD Forum所承認的紀錄型DVD,也就是DVD-RAM以及DVD-RW之後,和DVD Forum相抗衡的DVD Alliance,亦會推出以DVD+RW、DVD-RW、DVD-R、DVD+R以及從來CD家族所組成的「另外一種DVD MULTI」相容架構!這麼一來,另外一場系統聯盟大戰,也就是勢必難以避免…


DVD Multi 的兩組人馬

所以以現實點來看,所謂的 DVD Multi 目前也發展出兩個陣營,一為 DVD-RAM/DVD-RW/DVD-R 之複合規格,另一個就是 DVD-R/-RW DVD+R/+RW複合規格。目前已有不少燒錄機成品推出到市面上,行成另一場 DVD 規格大戰。比較詭異的是 Hiticha 也在 2003 三月宣佈推出結合目前所有DVD規格包括 DVD-R/DVD-RW/DVD+R/DVD+RW/DVD-RAM 等五種規格的燒錄機, 算是目前唯一的第一台.

連結 ACCESS 資料庫時常見的錯誤

當物件關閉時不允許操作
ADODB.Connection (0x800A0E78)
當物件關閉時,不允許操作。
/guestbook/save.asp, line 100


當您尚未 rs.open 開啟資料庫時,即欲執行讀取資料庫的指令;或資料庫已經關閉,您卻重覆下達 rs.close
關閉資料庫指令;也可能是指令 rs.close 放置不當,導致資料庫提前被關閉,後續程式無法執行。

--------------------------------------------------------------------------------

無法指出的錯誤
Provider (0x80004005)
無法指出的錯誤
/db/file.asp, line 8


發生這個錯誤訊息的實際原因是相當複雜的,在此僅針對虛擬主機用戶最常見的因素提供說明。倘若您的程
式原先能夠正常執行,卻突然之間出現以上訊息、導致整套程式無法正常運作時,絕大部份都是由於您的程
式碼所產生的問題。例如:當您的程式開啟資料庫之後,卻沒有按照規定程序下達「關閉」與「釋放資源」
的指令,就可能出現這個錯誤訊息。所謂「關閉」與「釋放資源」的指令有:
  rs.close (關閉指令;左列英文字敘述僅供參考之用,切勿照抄)
  set rs=nothing (釋放資源指令;左列英文字敘述僅供參考之用,切勿照抄)
當您的程式沒有按照規定程序下達「關閉」與「釋放資源」的指令,還可能會因此引發更多的錯誤訊息。

--------------------------------------------------------------------------------

無法開啟 '(未知的)' 資料庫。
它可能不是一個您的應用程式所能認得的資料庫,或是檔案可能已經損壞。
Microsoft JET Database Engine 錯誤 '80004005'
無法開啟 '(未知的)' 資料庫。它可能不是一個您的應用程式所能認得的資料庫,或是檔案可能已經損壞。
/db/file.asp, line 8


發生這個錯誤訊息的實際原因是相當複雜的,在此僅針對虛擬主機用戶最常見的因素提供說明。倘若您的程
式原先能夠正常執行,卻突然之間出現以上訊息、導致整套程式無法正常運作時,絕大部份都是由於您的程
式碼所產生的問題。例如:當您的程式開啟資料庫之後,卻沒有按照規定程序下達「關閉」與「釋放資源」
的指令,就可能出現這個錯誤訊息。所謂「關閉」與「釋放資源」的指令有:
  rs.close (關閉指令;左列英文字敘述僅供參考之用,切勿照抄)
  set rs=nothing (釋放資源指令;左列英文字敘述僅供參考之用,切勿照抄)
當您的程式沒有按照規定程序下達「關閉」與「釋放資源」的指令,還可能會因此引發更多的錯誤訊息。

--------------------------------------------------------------------------------

此處需要物件
Microsoft VBScript 執行階段錯誤 (0x800A01A8)
此處需要物件: 'rs'
/GuestBook/loveadam.asp, line 168


一般而言,是您開啟資料庫所使用的宣告方式與找尋資料的類型不一致或尚未定義所導致的。例如您若使
用 Set rs2 = GetMdbRecordset( "loveadam.mdb", SQL ) 定義,但稍候卻使用到 IF not rs.eof THEN ..... 或者是
想從資料庫帶出某些欄位的資料 session("User") = rs("User") ,但由於 'rs' 尚未正確定義或者呼叫程序有錯
誤時,就會出現這一個錯誤訊息。

--------------------------------------------------------------------------------

類型不相符
Provider 錯誤 '80020005'
類型不相符。
/news/save.asp, 列100


當程式本身執行「類型錯誤的蒐尋」或「資料庫欄位類型與實際儲存資料無法相容」時,即會出現此一
錯誤訊息。以下僅針對資料庫類型方面的錯誤,進行解說:
當您的 Ms-Access 資料庫某欄位的預設 "資料類型" 與存檔資料發生衝突時,即會出現錯誤 。 例如,資
料庫中的 NUMBER 欄位,若預設祇能儲存阿拉伯數字,但您卻試圖將中文字資料存入 NUMBER 欄位。
倘若欲在 NUMBER 這個欄位儲存中文字或其他資料,您可運用 Microsoft Access 程式開啟整個資料庫,
將 NUMBER 欄位原本預設的 "資料類型" 修改為「文字」類型或「備註」類型即可。

--------------------------------------------------------------------------------

無法開啟登錄鍵
[Microsoft][ODBC Microsoft Access Driver]一般錯誤 無法開啟登錄鍵 'Temporary (volatile) Jet DSN for
process 0x898 Thread 0x914 DBC 0x209e024 Jet'


嚴格說起來,會出現這個錯誤訊息的情況有頗多的因素。一般最常見的是程式呼叫資料庫的路徑設定有
錯誤,例如虛擬目錄或實體目錄的路徑在語法使用上有錯誤。除此之外,當程式試圖要從資料庫讀取或
寫入一筆資料,但資料庫並不存在指定的欄位定義值時,或者資料庫設有密碼,因為密碼錯誤而無法順
利開啟資料庫的時後,都會出現無法開啟登錄鍵的錯誤訊息。若您是使用自己的主機架設網站,則需確
認資料庫與資料庫所在資料匣,一般訪客使用者是否擁有讀取與寫入資料的權利。

--------------------------------------------------------------------------------

無法更新資料庫
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 無法更新。資料庫或物件是唯讀的。


請檢查資料庫這一個檔案,是否本身已被設定為唯讀屬性(將滑鼠置於資料庫再按下右鍵選「內容」,
將可以設定資料庫的屬性與讀寫的權限)。此外,也有可能是您之前的程式碼撰寫的並不完整,將資料
庫開啟使用但最後沒有下達關閉指令,導致其他程式無法再讀取及寫入資料,這時您必須先將開啟的資
料庫予以關閉,才能正常執行後續的程式碼。若您是使用自己的主機架設網站,則需確認資料庫與資料
庫所在資料匣,一般訪客使用者是否擁有讀取與寫入資料的權利。

--------------------------------------------------------------------------------

找不到包含檔
Active Server Pages 錯誤 'ASP 0126'
找不到包含檔


程式碼設計者,為了節省撰寫程式碼的時間,將呼叫資料庫的語法藉由副程式進行,但因為系統找不到
副程式檔案或找不到其他指定要求載入的附加檔案,故出現這一個錯誤訊息。比較常見的錯誤情況是,
使用者搞不清楚網站根目錄和子目錄的互動關係,例如在子目錄下面執行程式,但副程式卻擺放在網站
根目錄或其他子目錄下面,而程式碼卻沒有返回上一層或進入正確的子目錄尋找。當然,也有可能是您
因為一時疏忽,沒有將程式整套完整的上傳所導致的。

--------------------------------------------------------------------------------

找不到檔案
Microsoft JET Database Engine (0x80004005) Could not find file 'C:Inetpubwwwrootloveadam.mdb'.


正如同系統回應給您的訊息一般,伺服器在ASP程式所指定的路徑下面,找不到指定的檔案或資料庫。

--------------------------------------------------------------------------------

找不到檔案
Microsoft JET Database Engine 錯誤 '80004005'
'C:Inetpubwwwrootloveadam.mdb' 不是一個有效的路徑。請確定路徑名稱是拼對的,而且檔案位於您
所連接的伺服器上。


正如同系統回應給您的訊息一般,伺服器在ASP程式所指定的路徑下面,找不到指定的檔案或資料庫。
倘若您是租用本網虛擬主機網站代管服務的用戶,請查閱啟用通知信件(信中有記載您的網站實際存放
的目錄位置)。

--------------------------------------------------------------------------------

資料表被鎖定
Database Engine error '80004005' Table 'tblTable' is exclusively locked by user 'Admin' on machine
'MyMachine'.


當您使用自己的主機架設網站,在執行程式的之前,您也開啟資料庫進行設計與修改,導致程式對於資
料庫沒有執行的權限。這一個錯誤情況,通常不會在虛擬主機上面發生。

--------------------------------------------------------------------------------

參數太少
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80040e10'
[Microsoft][ODBC Microsoft Access Driver] 參數太少,預期個數 1。


這一類型的錯誤,通常都是程式中SQL所下達的指令有錯誤,或是指定的欄位名稱與資料庫的實際資料
表的欄位名稱不符合。除此之外,也有可能是SQL下達指令運用到的變數值,您尚未給予定義。

--------------------------------------------------------------------------------

BOF 或 EOF 的錯誤
ADODB.Recordset 錯誤 '800a0bcd'
可能是 BOF 或 EOF 的值為 True,或目前的記錄已被刪除。應用程式所要求的操作需要目前的記錄。


當使用者執行程式時,若在資料庫找不到符合的資料,或是資料筆數為零的時候,都可能會出現這個錯
誤訊息。一個有經驗的程式設計人員,為了避免這個錯誤情況的發生,通常會將程式碼撰寫的更理想,
例如當程式查無符合資料時,出現適當的訊息告知使用者或訪客。例如在SQL蒐尋指令後加入:
<%
IF RS.EOF THEN
Response.Write "非常抱歉,目前沒有任何符合的資料。"
Response.End
END IF
%>

--------------------------------------------------------------------------------

運作必須使用更新查詢
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 運作必須使用更新查詢


會造成這一類型的錯誤原因有很多, 例如在SQL程式語法中的指令無法讓伺服器理解,或者是一些運算
方式及符號(例如引號、括號)標示位置不當或缺少符號標示,都可能會出現這一類型的錯誤訊息。倘
若您是使用自己的主機架設網站,則需確認資料庫與資料庫所在資料匣,一般訪客使用者是否擁有讀取
與寫入資料的權利。

ASP連結資料庫的語法

ASP連結資料庫有很多種方法。由於不同類型的資料庫,所以我們需要用各自的連結語法來產生對資料庫的連接。

在自己的電腦,我們可以使用DSN(Data Source Name)來連接,方法是在控制台設定ODBC 連線,再在ASP用該DSN作開啟即可。但在一些免費空間,我們則須用DSN-less的方式連接資料庫,我們要在ASP中列出驅動程式名稱及資料庫位置。

通常指出資料庫位置是需要使用絕對路徑的,但我們並不知道我們的資料夾的位置究竟在哪裏,所以我們會用Server.MapPath("資料庫名稱")來取得絕對路徑。

因應各種資料庫,我列出以下資料庫的連接語法如下:
註:不可分行(除非使用 & _ 連結兩行字串才可分行)。在這裏分行是為了方便閱讀。
  [ ] 內的東西若設了密碼才需要用到,沒設密碼則必須刪除。使用連線字串時請刪除「[」和「]」。

Microsoft Access
1.Driver={Microsoft Access Driver (*.mdb)};Dbq=資料庫;[Uid=使用者名稱;Pwd=密碼;]
2.Provider=Microsoft.Jet.OLEDB.4.0;Data Source=資料庫;[User Id=使用者名稱;Password=密碼;]


Oracle
1. Driver={Microsoft ODBC for Oracle};Server=資料庫;[Uid=使用者名稱;Pwd=密碼;]
2. Provider=OraOLEDB.Oracle;Data Source=資料庫;[User Id=使用者名稱;Password=密碼;]


dBase
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=資料庫;


Microsoft Text Driver
1. Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=資料庫;Extensions=asc,csv,tab,txt;
 Persist Security Info=False;
2. Provider=Microsoft.Jet.OLEDB.4.0;Data Source=資料庫;
 Extended Properties='text;FMT=Delimited'


Microsoft SQL Server
1. Driver={SQL Server};Server=伺服器;Database=資料庫;
 [Uid=使用者名稱(預設帳戶為sa);Pwd=密碼;]
2. Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;
 [User Id=使用者名稱(預設帳戶為sa);Password=密碼;]


MySQL
driver={mysql};database=資料庫;option=16386;[uid=使用者名稱;pwd=密碼;]


Visual Foxpro
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;
 SourceDB=資料庫;Exclusive=No;


建立連線時,我們必須先建立連線元件,並因應該資料庫類型以上述連線方式連接資料庫。
假設資料庫路徑為在網頁底下的 abc.mdb (Access資料庫),使用者名稱為 abc 、密碼為 test ,你可以這樣作:

<%
Set objDBConn=Server.Createobject("ADODB.connection")   '建立連線元件
objDBConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
                            Server.MapPath("abc.mdb") & _
                            ";User Id=abc;Password=test;"
'用連結字串開啟OLE DB的Access資料庫。注意,若您的資料庫沒設使用者名稱及密碼,則不需User Id及Password屬性。
'此時資料庫已經開啟,我們可以執行SQL指令或是建立資料集元件,請參閱其他相關文章。
'當執行完SQL指令或其他相關操作,我們可以叫那元件「回家睡覺」了。
objDBConn.Close
Set objDBConn=Nothing
'關閉資料庫元件連接,釋放系統資源,「回家睡覺」去

%>

主機板 BIOS Post 訊息大剖解

◆ BIOS ROM checksum error-System halted


翻譯:BIOS 程式碼在進行總和檢查 ( checksum ) 時發現錯誤,因此無法開機。
解析:會遇到這種問題...通常是「代誌大條了」!通常是因為 BIOS 程式碼更新不完全所造成的,解決辦法請參照之前 Kivan 所寫的「燒壞主機板 BIOS」搶救大法


◆ CMOS battery failed


翻譯:CMOS 電池失效。
解析:這表是 CMOS 電池的電力已經不足,請更換電池。

 

◆ CMOS checksum error-Defaults loaded

 

翻譯:CMOS 執行整和檢查時發現錯誤,因此載入預設的系統設定值。
解析:通常發生這種狀況都是因為電池電力不足所造成,因此建議先換電源看看。如果此情形依然存在,那就有可能是 CMOS RAM 有問題,而因為 CMOS RAM 我們個人是無法維修的,所以建議送回原廠處理。


◆ Display switch is set incorrectly


翻譯:顯示開關配置錯誤。
解析:較舊型的主機板上有 Jumper 可設定螢幕為單色或彩色,而此訊息表示主機板上的設定和 BIOS 裡的設定不一致,所以只要判斷主機板和BIOS誰為正確,然後更新錯誤的設定即可。


◆ Press ESC to skip memory test


翻譯:記憶體測試中,可按下 ESC 略過。
解析:如果你在 BIOS 內並沒有設定快速測試的話,那麼開機就會執行電腦零件的測試,如果你不想等待,可按 ESC 略過或到 BIOS 內開啟 Quick Power On Self Test一勞永逸


◆ HARD DISK initizlizing 【Please wait a moment...】


翻譯:正在對硬碟做起始化 ( Initizlize ) 動作。
解析:這種訊息在較新的硬碟上根本看不到。但在較舊型的硬碟上,其動作因為較慢,所以就會看到這個訊息。


◆ HARD DISK INSTALL FAILURE


翻譯:硬碟安裝失敗。
解析:遇到這種事,請先檢查硬碟的電源線、排線是否安裝妥當?或者硬碟 Jumper 是否設錯? ( 例如兩台都設為 Master 或 Slave。)

 

◆ Primary master hard disk fail


翻譯:POST 偵測到 Primary master IDE 硬碟有錯誤。
解析:遇到這種事,請先檢查硬碟的電源線、排線是否安裝妥當?或者硬碟 Jumper 是否設錯? ( 例如兩台都設為 Master 或 Slave。)

 

◆ Primary slave hard disk fail


翻譯:POST 偵測到 Primary slave IDE 硬碟有錯誤。
解析:遇到這種事,請先檢查硬碟的電源線、排線是否安裝妥當?或者硬碟 Jumper 是否設錯? ( 例如兩台都設為 Master 或 Slave。)

 

◆ Secondary master hard fail


翻譯:POST 偵測到 Secondary master IDE 硬碟有錯誤。
解析:遇到這種事,請先檢查硬碟的電源線、排線是否安裝妥當?或者硬碟 Jumper 是否設錯? ( 例如兩台都設為 Master 或 Slave。)

 

◆ Secondary slave hard fail


翻譯:POST 偵測到 Secondary slave IDE 硬碟有錯誤。
解析:遇到這種事,請先檢查硬碟的電源線、排線是否安裝妥當?或者硬碟 Jumper 是否設錯? ( 例如兩台都設為 Master 或 Slave。)

 

◆ Hard disk(s) disagnosis fail


翻譯:執行硬碟診斷時發生錯誤
解析:這種訊息通常代表硬碟本體故障...你可以先把這顆硬碟接到別台電腦上試試看,如果還是一樣的問題,那只好送修了。


◆ Floppy disk(s) fail


翻譯:無法驅動軟碟機。
解析:先檢查軟碟機的排線有沒有接錯或鬆脫?電源線有沒有接好?如果這些都沒問題,那可能就是軟碟機故障了。


◆ FLOPPY DISK(S) fail(80)


翻譯:無法驅動軟碟機。
解析:先檢查軟碟機的排線有沒有接錯或鬆脫?電源線有沒有接好?如果這些都沒問題,那可能就是軟碟機故障了。


◆ FLOPPY DISK(S) fail(40)


翻譯:無法驅動軟碟機。
解析:先檢查軟碟機的排線有沒有接錯或鬆脫?電源線有沒有接好?如果這些都沒問題,那可能就是軟碟機故障了。


◆ Keyboard error or no keyboard present


翻譯:此訊息表示無法啟動鍵盤。
解析:檢查看看鍵盤連接線有沒有插好?把它插好即可。


◆ Memory test fail


翻譯:記憶體測試失敗。
解析:通常會發生這種情形大概都是因為記憶體不相容或故障所導致,所以請先以每次開機一隻記憶體的方式分批測試,找出故障的記憶體,把它拿掉或送修即可。


◆ Override enable-Defualts loaded


翻譯:目前的 CMOS 組態設定如果無法啟動系統,則載入 BIOS 預設值以啟動系統。
解析:可能是你在 BIOS 內的設定並不適合你的電腦 ( 像你的記憶體只能跑PC100但你讓它跑PC133 ),這時進入 BIOS 設定畫面把設定以穩定為優先做調整即可。


◆ Press TAB to show POST screen


翻譯:按 TAB 可以切換幕螢顯示。
解析:有一些 OEM 廠商會以自己設計的顯示畫面來取代 BIOS 預設的 POST 顯示畫面,而此訊息就是要告訴使用者可以按 TAB 來把廠商的自定畫面和 BIOS 預設的 POST 畫面來做切換。


◆ Resuming from disk,Press TAB to show POST screen


翻譯:重磁碟開機,按 TAB 到顯示 POST 畫面。
解析:某些版本的 BIOS 提供了 save-to-disk 的功能,當使用者以 save-to-disk 的方式來關機時,那麼在下次開機時就會顯示此訊息。


  • 1 
本網誌收集各類網路公開的文件,以便於本人和眾多網友們檢索查詢,所有轉載文件之著作所有權皆為原作者或及其發表公司所有,若有不宜刊登之文件,一經告知,本網誌立即下架