相對ADO.NET庫進行研究探討
本文著重介紹要用ADO.NET庫數據庫方式訪問Excel2003文件“Enclosure.xls”數據庫訪問Excel方法有2中,一種ADO.NET庫,太麻煩;一種OLEdb簡單。這里使用這種方法。下面進行學習探索。
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
注意這個ConnectionString語句中的“Extended Properties”處的“Excel 8.0”,“Excel”與ADO.NET庫“ 8.0”之間要空格,如果少了,也會報錯“找不到可安裝的ISAM”,連接失敗。
注:Indexed Sequential Access Method(ISAM——索引順序訪問方法)它是一種索引機制。#t#
用于高效訪問文件中的數據行。ISAM(帶索引序列存取法)是IBMADO.NET庫公司發展起來的一個文件操作系統,可以連續地(按照他們進入的順序)或者任意地(根據索引)記錄任何訪問。每個索引定義了一次不同排列的記錄。一個職工數據庫基于搜尋的信息可以有幾個索引。
例如,按照職工所屬科室的部門索引中,同時還有按照職工姓ADO.NET庫氏字母順序排名的名字索引。每個索引中的關鍵詞都是制定的。對于職工名字字母順序索引,姓就是指定的關鍵詞。ISAM的開發早于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 表單名字后必須跟 "$" 然后整個用[]括起來。ADOTable表也可以不使用[],但是用ADOTable,要將TableDirect屬性設置為True。設置正確表名字,這樣用ADOTabADO.NET庫le連接也是可以的。