关于FTP,在delphi的demo\indy目录下有例子,服务器和客户端的例子都有。不局限于一种数据库不太容易,你至少需要有每种数据库的驱动程序,看起来你好像是要在分布在不同地方的数据库传输数据,我的看法,在每个地方都需要放置一个代理,数据的传送通过代理进行,在代理接收到数据后,根据预定义的规则,比如文件名、一些附加的信息,决定如何处理收到的数据,例如是远程数据库的数据,就插入到本地数据库,是Excel文件,就转发给某个用户(比如用邮件)。代理不一定用com,也可以用windows  NT 服务来做。

解决方案 »

  1.   

    hzb(Explorer):感谢您提供的思路!
    我同事的一个看法是:将不同数据库的数据文件都导出成excel文件,再将excel文件用FTP传输到远程服务器,在远程服务器上再执行一个操作:将excel文件数据导入不同的数据库。我对相关方面的技术缺乏认识,所以想问大家这种作法的可行性有多大?
      

  2.   

    如果用Excel文件,那在导入的机器上也需要Excel,用来读取Excel文件。这种方式不太好,速度比较慢,你想像一下用Excel打开文件的速度就知道了,用Excel来导入数据大部分情况是用来收集手工录入的数据,你这里不太适合。我觉得你还不如导出成文本文件,这样体积比较小,读取速度也比较快。
    不管什么数据库都需要驱动程序(客户端)的,当然你可以用ADO,但ADO也需要各个数据库的驱动程序(客户端)才能访问数据库。
    >驱动程序都需手工安装?还是可以用程序写代码来统一安装?
    代理用的机器你肯定要装一些东西的,就直接用数据库的客户端安装。我觉得手工安装和用程序安装区别不大。
    >每种数据库的导出、导入命令分别是什么,有没有便捷的方式可以忽略数据库类型而作统一处理?
    数据库太多了,我也不知道,不过你可以用Delphi来访问数据库,然后生成文本,这样就不需要知道数据库的导出、导入命令了。你至少需要知道你正在操作的数据库类型,然后可以通过切换驱动程序的方式来访问。
      

  3.   

    尊敬的hzb(Explorer):我一时有别的任务,来不及多想这个问题;您的针对性答复使我受益良多!有时间再继续向您请教!暂时over.