`

使用FSO把文本信息导入数据库

阅读更多
使用FSO把文本信息导入数据库



在开发WEB应用程序中,我们经常需要对文件系统中的驱动器、文件夹和文件进行处理,比如收集驱动器的相关信息;创建、添加、移动或删除文件夹和文件等。在VB6中新提供了一套称为FSO(File System Object)对象模型来对文件系统进行访问处理。该模型提供了一个基于对象的工具,通过它所提供的一系列属性和方法,我们可以在应用程序中更简单、灵活地对文件系统进行各种操作。
  一、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:\webshare\aspsamp\filetest.txt
  OverwriteExistingFile 是一个Boolean值,表示如果有同名文件存在时是否覆盖
原来的文件.该参数可以省略,缺省时为False,即不覆盖原来文件.
  IsUnicode 是一个Boolean值,表示要建立的文件是ASCII文件还是Unicode文件,
该参数可以省略,缺省时为False,即为ASCII文件.
⑵ 打开已存在的文件
  打开已存在文件的方法的具体格式为(以AFileSystemObject为例):
   AFilesystemObject.OpenTextFile(FileName,IOMode,create,format)
其中:
  FileName 是一个string值,指定要打开的文件的名称,通常为文件的实际路径
加文件名称,C:\filepath\test.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



<FORM METHOD=POST ACTION="upFile.asp" >

        <div align="center"> <br>

        <br>

        <br>

        <br>

        <input type="file" name="path" size="40">

        <INPUT TYPE="submit" name="dr" value="导入信息">

        </div>

</FORM>



2、  编写把获取到的文本值保存到数据库代码:upFile.asp

<%@Language="VBScript"%>

<%Response.Buffer=true%>

<!--#include file="adovbs.inc"-->

<%

strConn="DSN=DataSourceName"

set Conn=Server.CreateObject("ADODB.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() '运行命令

LOOP

response.write "<br>"+"导入库成功!<a href=dolist.html>[继续导入]</a><br>"

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

至此,全文内容讲解结束,希望这篇文章能给读者带来一定的帮助。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tigerwen01/archive/2003/08/08/20226.aspx

注意:Scripting.FileSystemObject是不安全的COM组件,不应当在客户端页面脚本中使用。

如果用要设置一下:
IE的        工具—>Internet选项->安全->自定义级别->启用“没有标识为安全的ActiveX控件进行初始化和脚本运行”。

还有人说与scrrun.dll有关,贴出来备用:
1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。
2、在安装文件目录i386中找到scrrun.dl_,用winrar解压缩,得scrrun.dll,然后复制到x(你的系统盘):\windows\system32\目录中。
3、运行      regsvr32     scrrun.dll       即可。
分享到:
评论

相关推荐

    利用FSO把文本信息导入SQL SERVER 2000数据库.pdf

    标题中的“利用FSO把文本信息导入SQL SERVER 2000数据库”指的是使用FileSystemObject(FSO)来实现从文本文件中读取数据,并将其导入到SQL Server 2000数据库的过程。这是一个常见的数据迁移或数据整合场景,尤其在...

    VB读取文本写入数据库

    在VB(Visual Basic)编程中,...这个过程可能在一个循环结构中进行,对每一行或每一文件进行处理,直到所有数据都被正确地导入数据库。同时,注意保持代码的清晰性和可维护性,添加适当的注释以解释关键部分的逻辑。

    Sql数据库导入或导出txt文件

    在本案例中,我们关注的是如何使用Visual Studio 2008(VS2008)来处理SQL数据库与TXT文本文件之间的数据交换。这个过程通常涉及到数据导入和导出,这对于数据分析、备份、迁移或者格式转换等场景非常实用。以下我们...

    如何把IP表存到SQL数据库里去

    ### 如何将IP表存入SQL数据库:ASP与SQL Server结合使用 在互联网技术领域,存储和管理IP地址是一项常见的需求。特别是在网络安全、数据分析等领域,有效地处理和利用IP地址数据至关重要。本文将详细介绍如何通过...

    读取数据库中的内容并输出到文本文件

    首先,导入ADO库,然后创建一个Connection对象,设置其ConnectionString属性以指定数据库类型、服务器、数据库名、用户名和密码等信息。例如,对于SQL Server数据库,可以使用以下代码: ```vb Imports ADODB Dim ...

    将数据库输出到一个文本文件中(5KB)...

    在VB(Visual Basic)编程中,数据库操作是常见的任务之一,尤其在数据处理和报表生成等场景下。本文将深入探讨如何将...通过掌握这些基础知识,你可以扩展到更复杂的数据库操作,如数据导入导出、数据清洗和转换等。

    优化后的asp批量导入

    可以使用FileSystemObject(FSO)来读取文本文件(如CSV),或者使用特定的库来处理Excel文件。 5. **性能优化**: - **批处理操作**:将多个INSERT语句组合成一个批次,减少与数据库的交互次数。 - **预编译SQL*...

    ASP和SQL网站数据库程序设计(DOC)

    ASP和SQL一直深受网站数据库设计人员的喜爱。 本书着重介绍ASP程序设计语言的各种功能及其实际应用, 同时也介绍SQL Server的程序设计技巧。本书将引导读者用ASP语法, 配合数据库系统的开发技巧,构建一个完整的...

    ASP与SQL网页数据库程序设计

    数据库基本概念……………………..39 3-1 数据库系统 40 3-1-1 数据库系统的类型 40 3-1-2 数据库系统的结构 40 3-1-3 数据库系统的主要组件 42 3-1-4 数据集中化管理 44 3-1-5 数据独立 46...

    baikeac20121128

    支持单个文本自定义格式(如mdx源文件格式)导入数据库。 支持从数据库直接导出数据为mdx源文件,即可用MdxBuilder直接转换为MDX词典。 导入导出进度条显示。 下载编辑 支持可视化编辑。 支持库里没有的关键词直接...

    用vb将txt导入到excel

    例如,当你通过Excel的文本导入向导打开一个TXT文件并完成设置后,停止录制宏,VBA编辑器会自动生成对应的代码。这段代码可以作为基础,根据实际需求进行修改。 除此之外,VB还提供了其他处理文件的方法: 1. **...

    VB 代码 用于读取TXT内容导入系统 代码完整可靠

    在VB(Visual Basic)编程环境中,常常需要处理各种文件操作,比如从TXT文本文件中读取数据并将其导入到系统数据库或数据结构中。在这个场景下,VB代码可以帮助我们高效地实现这一目标。"GPLoginInfoImport"可能是VB...

    Excel访问VB.doc

    例如,可以使用`FSO.OpenTextFileReader`或`FSO.OpenTextFileWriter`来读写文本文件,`FSO.CopyFile`和`FSO.MoveFile`来移动或复制文件。 最后,API函数(Application Programming Interface)提供了一种直接与操作...

    如何将一个TXT文档里内容导入到文本框里

    (此页是用ASP中的FSO来读取txt文本文件中的内容并输出,为ajax_txt.asp这个页面的AJAX异步获取提供数据) '//禁止缓存该页 让AJAX读取该页始终为最新而非过期缓存页 Response.Expires = 0 Response....

    Excel-VBA操作文件四大方法

    通过录制宏并稍作修改,我们可以定制化文本文件的导入设置。 其次,VBA自身提供了文件处理语句,如`Open`, `Write`, `Close`等,它们可以用来读写文本文件。例如,以下代码打开一个文本文件,写入一行文本,然后...

    Excel处理文件的方法.docx

    - **打开文本文件**:通常推荐使用`Workbooks.OpenText`方法,它能将文本文件分列并导入到工作表中。例如,通过录制宏可以自动生成处理文本文件的代码,根据实际需求进行调整。 - **打开XML文件和数据库文件**:...

    DataConvert.zip_数据库编程_Visual_Basic_

    本资源"DataConvert.zip"聚焦于使用Visual Basic进行数据库编程,重点在于读取Excel和文本文件,并将数据自动导入SQL数据库。 首先,我们要理解Visual Basic与数据库的连接。VB可以使用ADO(ActiveX Data Objects)...

    用ASP实现将ACCESS表中的数据记录导入到EXCEL文件中

    使用FileSystemObject(FSO)来创建和写入文本文件。 - 首先,创建一个FSO对象,然后锁定应用程序,确保在写入文件时没有其他进程访问。接着,定义文件路径,创建一个TextStream对象并写入文件内容。 - 写入文件的...

Global site tag (gtag.js) - Google Analytics