假设有两个ADOConnection,数据源和类型(一个是sql server,一个是excel)都不同,想把excel的数据insert到sql server的某个数据库的某个表里?有无可能实现?在sql server查询分析器里面是可以跨机器跨库来操作的:
insert into xykkmxz
select * from [piiiserver].[cc].[dbo].[xykkmxz_mis]但不知ado里面是否可以。

解决方案 »

  1.   

    这样啊,可以用CDS进行合并,至于用ADOQuery,我就不太清楚了;
      

  2.   

    请问cds合并是什么东西?可以说具体点吗?
      

  3.   

    把你在查询分析器里的代码放到一个adoquery里面不能执行吗?
      

  4.   

    ExploiterSoft(匆匆)的意思可能是说直接在SQL SERVER的企业管理器里面使用“导入数据”的功能从Excel导数据进去。
    其实SQL SERVER企业管理器基本上所有的功能最终都是通过SQL语句(存储过程)来完成的,只是很多东西我们不熟悉而已,你可以找找看SQL SERVER的MASTER数据库里面有没有相关的存储过程。
      

  5.   

    我也不知道CDS是什么,呵呵,或许他说的是DTS?
      

  6.   

    CDS是 clientdataset
    可直接用建立两个连接,而后循环读excel 表,写sql表就可
      

  7.   

    还是用SQL SERVER的内置函数OpenRowSet函数吧!当数据量较大时比手工地在ADO里Insert,Post性能高许多。
      

  8.   

    to VeryOldMan:你指的是用OpenRowSet或OpenDataSource吧?那个东西的文件路径好像是需要在sql server的本地,也就是说在别的机器要导一个数据文件进非本地的sql server不能用这个。to 76liujing:那个语句当然可以,因为在查询分析器里面,两台server之间是同一类型的数据源,而且那个例子是从远端取数据insert入本地一个表(我尝试过把into后面的表和from后面的换转,结果告诉我不行),而我想实现的是从客户端操作,把客户端上的一个excel导入到远端数据库上,我试过几种方法,但效率不高,而且有缺陷。还想问问大家,像我这种情况,要把数据文件导入到到数据库,有什么好方法?
      

  9.   

    用xml文件或excel记录数据,把文件发到服务器端,在服务器执行,写到数据库中。
    我一般选这种方式