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

这样便实现了文件的上载。

*SINET 控件的优点

INET控件与Shell()函数的不同之处在于INET控件通过调用语句

right1 = Inet1.StillExecuting

Do While right1

right1 = Inet1.StillExecuting

DoEvents

在VB中实现文件上传.doc

下载Word文档到电脑,方便收藏和打印[全文共1235字]

编辑推荐:

下载Word文档

VB向服务器上传文件,在VB中实现文件上传相关推荐

  1. MySQL在脚本中执行传参数_ZZW_shell脚本中的调用MYSQL传参及注意的问题

    [oracle@ip9140 db_pcc]$ cat zzw_cc.sh #!/bin/bash z_user='pcc_csuser22' z_pass='pcc_csuser22' z_db=' ...

  2. php获取目录文件 排序输出,php实现对文件夹目录中的文件进行排序的方法

    php实现对文件夹目录中的文件按照时间.名称.大小进行排序的方法 函数介绍: opendir() 函数打开目录句柄. readdir() 函数返回目录中下一个文件的文件名. array_multiso ...

  3. java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

    上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式Servlet2.5 方式 Servlet3.0 方式 SpringMVC 方式 案例实操 S ...

  4. python上传大文件s3_使用Python boto3上传Windows EC2实例中的文件至S3存储桶中

    一.创建终端节点 为什么要创建终端节点,把VPC和S3管理起来呢?如果不将VPC和S3通过终端节点管理起来,那么VPC中EC2实例访问S3存储桶是通过公共网络的:一旦关联起来,那么VPC中EC2实例访 ...

  5. 怎么恢复服务器电脑删除的文件,windows系统中u盘上被删除的文件怎么恢复?_网站服务器运行维护,windows,u盘,删除,恢复...

    win10装cad提示权限不够怎么办?_网站服务器运行维护 解决方法:跳过管理员权限来进行安装.步骤:1.在经常要使用的程序上右键单击,选择"兼容性疑难解答":2.点击" ...

  6. 服务器上的垃圾器文件恢复,联想电脑中的文件误删如何恢复?

    现如今,家家户户都有配备电脑,当然,家中的电脑大部分时间是用于娱乐的,用于消遣的,但是在适当的时候,在有需要的时候,家中的电脑还是会用于办公的,不过对于很多朋友来说,公私分明,始终不太适合,于是在使用 ...

  7. linux 显示目录文件数,如何在Linux系统上显示当前及子目录中的文件数量

    在本指南中,我们将介绍如何在 Linux 系统上显示当前工作目录或任何目录及其子目录中的文件数量. 我们将使用 find 命令,它用于搜索目录层次结构中的文件,以及 wc 命令,它会打印每个文件或来自 ...

  8. Java pdf文件传输_java中pdf文件的管理(pdf文件转png文件,base64传输文件以及删除)...

    org.apache.pdfbox pdfbox 2.0.12 影像文件转为base64编码使用java自带的BASE64Encoder类 代码部分: 前端上传文件的保存: @RequestMappi ...

  9. 计算机硬盘无法查找文件,硬盘系统中的文件搜索技巧整理

    硬盘系统中的文件搜索技巧整理 发布时间:2014-03-04 09:07:58   作者:佚名   我要评论 电脑已成为一个知识库,许多文件都可以从里面找到,当我们要寻找以前看过的某个文件时,如果记不 ...

  10. php启动 大量sess文件,关于PHP中Session文件过多的有关问题

    关于PHP中Session文件过多的问题 PHP的默认机制:每一次php请求,会有1/100的概率(默认值)触发"session回收".如果"session回收" ...

最新文章

  1. python的质量控制模块_10.11. 质量控制
  2. 前端学习笔记(五)-JavaScript语法基本概念
  3. 关于Java去连接HTTP地址的操作
  4. GitHub之深入解析脚本·自定义与修改GitHub来更好地为特定的工作流程工作
  5. 28个MongoDB经典面试题
  6. iOS开发学习之MapKit - 获得在MapView(地图)中显示多个标记的区域(MKCoordinateRegion)...
  7. h5页面 pc端html 调用QQ群
  8. 关于拓扑排序的问题-P3116 [USACO15JAN]会议时间Meeting Time
  9. 前端学习(1718):前端系列javascript之生命周期上
  10. linux mariadb 升级,linux mariadb
  11. 使用Hyper-V Server创建Linux虚拟机
  12. ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
  13. Linux下gcc/g++、make和cmake的区别
  14. golang redis 队列删除图片
  15. vs2005 打包,并自动安装SQL数据库
  16. 内存映射文件(专门读写大文件)
  17. 设计模式--C++学习(4)
  18. android 模拟器好用哪个,安卓模拟器哪个好用 常用安卓模拟器性能大盘点
  19. 金玉良缘易配而木石前盟难得|M1 Mac os(Apple Silicon)天生一对Python3开发环境搭建(集成深度学习框架Tensorflow/Pytorch)
  20. JAVA漫天星星之菱形

热门文章

  1. cs229 课程知识点 简要记录
  2. 人事管理工作难开展?这几个人力资源管理软件用了没
  3. 解决手机QQ发送文件给电脑端,电脑端无法接收的问题
  4. 英国政府将投资11.4亿英镑部署FTTP和开发5G
  5. eclipse加载jdbc驱动(mysql)
  6. element拼音模糊搜索
  7. 「Web全栈工程师的自我修养」读后感
  8. 关于更换PC版浏览器推荐
  9. 在外通过手机远程控制家中或者公司的电脑
  10. Arduino无法下载,重刷Bootloader后解决问题