使用FSO把文字資訊匯入資料庫 (轉)
使用把文字資訊匯入:namespace prefix = o ns = "urn:schemas--com::office" />
在開發應用中,我們經常需要對中的器、資料夾和檔案進行處理,比如收集驅動器的相關資訊;建立、新增、移動或刪除資料夾和檔案等。在中新提供了一套稱為FSO(File System )模型來對檔案系統進行訪問處理。該模型提供了一個基於物件的工具,透過它所提供的一系列屬性和方法,我們可以在應用程式中更簡單、靈活地對檔案系統進行各種操作。
一、FSO簡介
FSO物件模型包含以下幾種物件:
Drive物件:允許收集系統物理或透過LAN與系統邏輯連線的、CD-ROM等驅動器的可用空間、共享名等資訊。
Folder物件:允許建立、刪除或移動資料夾,並向系統查詢資料夾的名稱、路徑等。
Files物件:允許建立、刪除或移動檔案,並向系統查詢檔案的名稱、路徑等。
TextStream物件:允許建立和讀寫文字檔案。
FileSystemObject物件:提供一整套用於驅動器、資料夾和檔案操作的方法,在功能上可以把它看作是上面幾個物件的集合並且經常與它們配合使用。與該物件相關聯的很多方法重複了前面四個物件中的方法,因此我們既可以透過FileSystemObject物件來對驅動器、資料夾和檔案進行大多數操作,也可以透過對應的驅動器、資料夾或檔案物件對這些進行操作。FSO模型透過兩種方法實現對同一物件的操作,其操作效果是相同的,提供這種冗餘功能的目的是為了實現最大的靈活性。
在這篇文章中,我們將講解利用FSO物件模型的TextStream物件對文字檔案的操作。
(一) 用 FileSystemObject 來獲取文字檔案物件
1.建立一個 FileSystemObject 物件例項
要進行檔案操作,首先必須建立一個 FileSystemObject 物件例項,用來建立或開啟一個檔案.建立一個 FileSystemObject 物件例項的具體格式為(以AFileSystemObject)為例:
Set AFileSystemObject = CreateObject("Scripting.FileSystemObjecct")
2.用 FileSystemObject 來獲取文字檔案物件TextStream
FileSystemObject 提供了兩種方法用於獲取文字檔案物件 TextStream,其中用於建立
檔案的是 CreateTextFile,用於開啟已存在檔案的是 OpenTextFile,兩種方法的返回結果都是
一個 TextStream 物件的例項,利用該物件可以進行檔案的具體操作.
⑴ 建立一個新檔案
建立新檔案的方法的具體格式為(以AFileSystemObject為例):
AFilesystemObject.CreateTextFile(NewFileName,OverwriteExistingFile,IsUnicode)
其中:
NewFileName 是一個string值,指定要建立的檔案的名稱,通常為檔案的實際路徑
加檔名稱,如C:websharesampfiletest.txt
OverwriteExistingFile 是一個Boolean值,表示如果有同名檔案存在時是否覆蓋
原來的檔案.該引數可以省略,預設時為False,即不覆蓋原來檔案.
IsUnicode 是一個Boolean值,表示要建立的檔案是ASCII檔案還是Unicode檔案,
該引數可以省略,預設時為False,即為ASCII檔案.
⑵ 開啟已存在的檔案
開啟已存在檔案的方法的具體格式為(以AFileSystemObject為例):
AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
FileName 是一個string值,指定要開啟的檔案的名稱,通常為檔案的實際路徑
加檔名稱,C:filepathtest.txt
IOMode 是常數值,表示開啟檔案的目的,ForReading(1)表示用於讀取資料;
ForAppending表示用於增加資料.該引數可以省略,預設時為ForReading.
Create 是一個Boolean值,表示要開啟的檔案不存在時是否建立新檔案,
該引數可以省略,預設時為False,即不建立新檔案.
Format 表示檔案開啟的方式.其可能的值及含義如下:
TristateTrue : 以 Unicode 的方式開啟.
TristateFalse : 以 ASCII 的方式開啟.
TristateUseDefault : 以系統預設的方式開啟.
該引數可以省略,預設時為 TristateFalse ,即ASCII方式.
(二).用 TextStream 進行檔案操作
在建立或開啟了檔案之後,就可利用物件 TextStream 提供的方法進行檔案的實際操作了.
1.用於寫操作的方法有:
⑴ Write(string)
將由string指定的字串寫入到檔案中.
⑵ WriteLine(string)
在檔案中寫入由string指定的字串,並寫入一個換行字元.
引數string可以省略,此時將在檔案中插入一個空行.
⑶ WriteBlankLines(NumOfLines)
在檔案中插入若干空行,行數由 NumOfLines 指定.
2.用於讀操作的方法和屬性方法有:
⑴ AtEndOfLine
該屬性是一個Boolean值,表示檔案指標是否已指向當前行的行尾.
⑵ AtEndOfStream
該屬性是一個Boolean值,表示檔案指標是否已指向檔案尾.
⑶ Column
該屬性是一個整數值,表示檔案指標在當前行中的位置.
⑷ Line
該屬性是一個整數值,表示檔案指標所在行的行號.
⑸ Read(NumOfCharacters)
該方法從檔案當前位置開始,讀入由NumOfCharacters數目指定的若干字元,返回一個
字串.
⑹ ReadLine
該方法從檔案當前位置開始,讀入當前行的內容直到行尾,返回一個字串.
⑺ ReadAll
該方法從當前位置開始,讀入整個檔案的內容直到檔案結束,返回一個字串.
⑻ Skip(NumOfCharacters)
該方法從檔案當前位置開始,跳過由NumOfCharacters數目指定的若干字元.
⑼ SKipLine
該方法從檔案當前位置開始,跳過當前行的內容.
3.用於關閉檔案的方法有:
⑴ Close
關閉已經建立或開啟的檔案.
(三)、下面就以一個例項來說明如何使用FSO來讀取文字檔案和如何儲存到資料庫:
1、 先建立一個讀取檔案路徑的頁面:file.htm
…
…
2、 編寫把獲取到的文字值儲存到資料庫程式碼:upFile.asp
<!--#include file="adovbs.inc"-->
strConn="DSN=DataName"
set Conn=Server.CreateObject("ADO.Connection")
Conn.open strConn
set ObjComm=Server.CreateObject("ADODB.Command")
ObjComm.CommandText="sp_AddMsg" ‘過程
ObjComm.CommandType=adCmdStoredProc
Set ObjComm.ActiveConnection=Conn
''''''''''建立輸入輸出引數'''''''''''''''''
Set ObjParamECom=ObjComm.CreateParameter("WC_ECompanyName",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamECom
'@in_ECompanyName Varchar(50), --公司英文名稱
Set ObjParamAddr=ObjComm.CreateParameter("WC_Address",adVarchar,adParamInput,200)
ObjComm.Parameters.Append ObjParamAddr
'@in_Address Varchar(50), --公司地址
Set ObjParamCity=ObjComm.CreateParameter("WC_City",adVarchar,adParamInput,100)
ObjComm.Parameters.Append ObjParamCity
'@in_City Varchar(50), --城市
…
''''''''''建立引數完畢''''''''''''''''''''
%>
dim AllText,strLine1,strLine2,strLine3
dim strpath,fileurl
fileurl=""
strpath=Trim(Request.form("path"))
fileurl=strpath
SET FSO=CreateObject("Scripting.FileSystemObject")
SET ATextStream=FSO.OpenTextFile(fileurl,1,false,TristateFalse)
'''''''''提取資料''''''''''''''''''''''''''''
DO WHILE NOT ATextStream.AtEndOfStream
''''''初始化變數''''''''''''''''
strLine1=""
strLine2=""
strLine3=""
…
'''''''''''''''''''''''''''''''
ATextStream.SkipLine
ATextStream.Skip(11)
strLine1=Trim(ATextStream.ReadLine)
ATextStream.Skip(11)
strLine2=Trim(ATextStream.ReadLine)
ATextStream.Skip(5)
strLine3=Trim(ATextStream.ReadLine)
…
'End if
''''''''''將變數加入引數集'''''''''''''
ObjParamECom.value=strLine1
ObjParamCCom.value=strLine2
ObjParamAddr.value=strLine3
…
''''''''''操作結束''''''''''''''''''''
ObjComm.Execute() '執行命令
L
response.write "
"+"匯入庫成功![繼續匯入]
"
set Conn=nothing
set FSO=nothing
set ATextStream=nothing
%>
附:儲存過程sp_AddMsg程式碼
CREATE PROCEDURE dbo.sp_AddMsg --匯入國外企業資訊
(
@in_CompanyName Varchar(100), --公司名稱
@in_Address Varchar(200), --公司地址
@in_City Varchar(100), --公司所在城市
…
)
AS
SET NOCOUNT ON
BEGIN TRAN
INSERT INTO Tb_WCLibrary(
WC_CompanyName,
WC_CCompanyName,
WC_Address,
…
)
VALUES(
@in_CompanyName,
@in_CCompanyName,
@in_Address,
…
)
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
RETURN -1
END
COMMIT TRAN
RETURN 0
SET NOCOUNT OFF
至此,全文內容講解結束,希望這篇文章能給讀者帶來一定的幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-981910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 大文字資料,匯入匯出到資料庫資料庫
- 把TXT文字匯入SQLServer 出錯:資料轉換失敗SQLServer
- 將informix匯出的文字資料匯入oracle資料庫ORMOracle資料庫
- 將資料從文字匯入到mysql(轉)MySql
- 把ACCESS的資料匯入到Mysql中(轉)MySql
- 使用sqlloader向oracle匯入文字資料SQLOracle
- 使用oracle sqlldr匯入文字資料的例子OracleSQL
- 把txt文字匯入sqlserver表內SQLServer
- plsql developer匯入匯出資料庫方法 <轉>SQLDeveloper資料庫
- 把csv檔案的資料匯入到oracle資料庫中Oracle資料庫
- Redis批量匯入文字資料Redis
- 使用ArcGIS連線瀚高資料庫與地理資訊的匯入資料庫
- 用exp/imp把遠端資料匯入到本地資料庫中資料庫
- 使用sqlldr匯入文字資料到oracleSQLOracle
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- MySQL資料庫結構和資料的匯出和匯入 (轉)MySql資料庫
- 用Navicat把SQLServer資料匯入MySQLServerMySql
- 把Excel表資料匯入到mysqlExcelMySql
- 如何把 .csv 的檔案匯入資料庫SQL SERVER 中!資料庫SQLServer
- oracle資料庫使用sqlldr命令匯入txt資料Oracle資料庫SQL
- 使用scrapy框架把資料非同步寫入資料庫框架非同步資料庫
- PROC++批次匯入匯出ORACLE資料庫表 (轉)Oracle資料庫
- 資料庫的匯入匯出資料庫
- mysql 資料庫匯入匯出MySql資料庫
- MySQL資料庫匯入匯出MySql資料庫
- 把TXT文字匯入SQLServer常見問題SQLServer
- 使用PHP向MySQL資料庫匯入資料,中文字元顯示亂碼問題PHPMySql資料庫字元
- 安裝mongodb,建立資料庫、使用者、建立表、匯出匯入資料庫MongoDB資料庫
- 文字檔案用sqlldr工具匯入到oracel資料庫中SQL資料庫
- 如何把資料從Mysql匯入到GreenplumMySql
- windows下把資料從oracle匯入hbaseWindowsOracle
- 使用xml檔案,做資料的匯入,匯出 (轉)XML
- Oracle工具之sqlldr的使用--如何將文字檔案或Excel中的資料匯入資料庫OracleSQLExcel資料庫
- 【mysql】資料庫匯出和匯入MySql資料庫
- mysqldump匯入匯出mysql資料庫MySql資料庫
- oracle資料庫匯入匯出命令!Oracle資料庫
- Mysql 資料庫匯入與匯出MySql資料庫
- 匯出和匯入資料庫使用者操作說明資料庫