在VB中实现文件上载

文章作者 100test 发表时间 2008:01:25 09:41:23
来源 100Test.Com百考试题网


  Visual Basic 作为一个集应用程序开发、测试、查错功能于一 体的集成式开发环境,越来越受到程序员的青睐。笔者在开发某数据 库维护系统的过程中,选择了VB5.0作为开发平台,Unix作为服务器端 操作系统,Informix 作为服务器数据库。
  问题的出现
  笔者在开发该维护系统的过程中,注意到Informix 数据库的字段 类型CLOB 填入数据时需要函数FILETOCLOB("FILENAME","SERVER") , 其中的"FILENAME"需要指出文件路径和文件名称。然而,在维护过程 中此文件是在客户端执行的,这样就要求即时将文件传输到服务器端 。
  解决办法
  1. FTP传输工具
  我们首先使用FTP传输工具,用VB5.0中SHELL 命令调用DOS批处理 文件来实现传输的需要。
  Shell调用格式:
  Shell(pathname[,windowstyle])
  例子:Shell("c:\windows\upload.bat")
  批处理文件upload.bat 的内容:
  c:\windows\ftp hostname
  username
  password
  send c:\zrh\upload.txt upload.txt
  bye
  该命令实现了文件"upload.txt"的传输要求。在使用完毕之后, 再调用命令把该文件删除。
  例子:Shell("c:\windows\del_up.bat")
  批处理文件del_up.bat 的内容:
  c:\windows\ftp hostname
  username
  password
  dele upload.txt
  bye
  这样,文件"upload.txt"被删除。
  但是,另一个问题出现了。由于Shell 函数的运行机制是与其它 程序同步执行,也就是说,当调用Shell 函数的子程序还没有执行完毕 之前,Shell函数后面的语句已经执行。在大批量添加数据的过程中, 就会出现某个记录的文件还没有传到,而下一个插入语句(I nsert)已 经开始调用。这样,ODBC调用就会出现错误。
  2. INET 控件
  Internet Transfer控件提供了Internet 上最常使用的两种协议 :HTTP 和FTP。使用HTTP 协议可以连接到WWW服务器上来下载文件.使 用FTP协议则可以登录到FTP 服务器。一般的FTP命令,例如CD、GET 都可以通过Execute 方法实现。
  下面是一个设置INET控件属性的例子。
  inet1.URL=ftp://username:password@hostname/document
  inet1.Protocol=2-icFTP
  inet1.RemoteHost=hostname
  inet1.RemotePort=21
  inet1.Username=username
  inet1. Password=password
  执行文件传输:
  Inet1.Execute "ftp://username:password@hostname"., _
  "PUT" &.local_filename &. " UPLOAD1.TXT"
  right1 = Inet1.StillExecuting
  Do While right1
    right1 = Inet1.StillExecuting
    DoEvents
  Loop
  这样便实现了文件的上载。



相关文章


学习用VB制作浏览器
用VB实现客户——服务器(TCP_IP)编程实例
如何建立拨号联接
在VB中使用UDP协议
在VB中实现文件上载
在VB程序中怎样挂断拨号网络
VB中Wi ock控制的UDP协议的使用
在VB中进行各种图形切换的方法
VB下如何编写CRC校验程序
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛