相對ADO.NET庫進(jìn)行研究探討
本文著重介紹要用ADO.NET庫數(shù)據(jù)庫方式訪問Excel2003文件“Enclosure.xls”數(shù)據(jù)庫訪問Excel方法有2中,一種ADO.NET庫,太麻煩;一種OLEdb簡單。這里使用這種方法。下面進(jìn)行學(xué)習(xí)探索。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Administrator\桌面\ADO.NET庫Excel2003\Enclosure.xls;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1";Persist Security Info=False
注意這個(gè)ConnectionString語句中的“Extended Properties”處的“Excel 8.0”,“Excel”與ADO.NET庫“ 8.0”之間要空格,如果少了,也會報(bào)錯(cuò)“找不到可安裝的ISAM”,連接失敗。
注:Indexed Sequential Access Method(ISAM——索引順序訪問方法)它是一種索引機(jī)制。#t#
用于高效訪問文件中的數(shù)據(jù)行。ISAM(帶索引序列存取法)是IBMADO.NET庫公司發(fā)展起來的一個(gè)文件操作系統(tǒng),可以連續(xù)地(按照他們進(jìn)入的順序)或者任意地(根據(jù)索引)記錄任何訪問。每個(gè)索引定義了一次不同排列的記錄。一個(gè)職工數(shù)據(jù)庫基于搜尋的信息可以有幾個(gè)索引。
例如,按照職工所屬科室的部門索引中,同時(shí)還有按照職工姓ADO.NET庫氏字母順序排名的名字索引。每個(gè)索引中的關(guān)鍵詞都是制定的。對于職工名字字母順序索引,姓就是指定的關(guān)鍵詞。ISAM的開發(fā)早于VSAM(虛位存儲通道法)。
如果是Excel是Excel2007,連接語句完全變化了:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0;HDR=YES";
SQL語法:"SELECT * FROM [sheet1$]"也就是excel 表單名字后必須跟 "$" 然后整個(gè)用[]括起來。ADOTable表也可以不使用[],但是用ADOTable,要將TableDirect屬性設(shè)置為True。設(shè)置正確表名字,這樣用ADOTabADO.NET庫le連接也是可以的。