三层程序自动更新问题,用的socket连接。 ( 积分: 50 )

  • 主题发起人 主题发起人 Frankiejohan
  • 开始时间 开始时间
F

Frankiejohan

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库用的Oracle8.17,用的SOCKET连接,但是在客户端需要进行软件的自动更新。我在数据库里设置了一张表,包括了一个BLOB字段,用来存储EXE文件,然后通过判断程序的版本进行更新。
但是客户端连接成功后,如下:
WITH CD_SQLdo
begin
CLOSE;
CommandTexts.Text := 'SELECT NEWAPP FROM UPTBL';
//NEWAPP为BLOB字段
Open;

end;
在客户端硬件比较好的情况下可以打开,但是客户端硬件比较差的情况下不能打开。并且引起SOCKET报错。
不知道各位有什么好的解决方法。
 
数据库用的Oracle8.17,用的SOCKET连接,但是在客户端需要进行软件的自动更新。我在数据库里设置了一张表,包括了一个BLOB字段,用来存储EXE文件,然后通过判断程序的版本进行更新。
但是客户端连接成功后,如下:
WITH CD_SQLdo
begin
CLOSE;
CommandTexts.Text := 'SELECT NEWAPP FROM UPTBL';
//NEWAPP为BLOB字段
Open;

end;
在客户端硬件比较好的情况下可以打开,但是客户端硬件比较差的情况下不能打开。并且引起SOCKET报错。
不知道各位有什么好的解决方法。
 
使用ftp/http协议来传输文件吧
你这样做会消耗大量内存,服务和客户都受不了
 
你的设计有问题,应该以表或文件记录文件版本匹配关系,ftp传输文件,传输前先进行压缩。我做的三层升级控件这样实现。
 
to serene_he:
能不能把你的升级控件发过来看看,谢谢!
Frankie510@126.com
 
关注, 我是一次读一点传回去再合并成一个文件, 不过效率低下, 还好客户端不多
 
后退
顶部