EXEC sp_addlinkedserver   'NS01', ' ', 'SQLOLEDB', '192.168.1.168';
GO 
EXEC sp_addlinkedsrvlogin  'NS01', 'false',null, 'sa', '123';
GO
select * into ld_yx   from NS01.gyldxt.dbo.ld_yx where yx_yxdate=CONVERT(varchar(12) ,getdate()-1, 23 )
select * into ld_js from NS01.gyldxt.dbo.ld_js where js_yxdate=CONVERT(varchar(12) ,getdate()-1, 23 )也就是从NS01(192.168.1.168)服务器复制数据到本机。
select *  into...from  ....后出问题。
本来这几句都是放在SQL代理的任务中的,
但有部分人不会用SQL,
所以想做成一个小程序。

解决方案 »

  1.   

    一句一句放到adoquery中执行
    PS:go就不要执行了
      

  2.   

    “select * into...from ....后出问题”
    出什么问题?
      

  3.   

    就直接没结果出来。select * into...from ....是没问题的。在SQL查询器中一切运行正常。请教一楼的:必须一句一句放到adoquery中吗?一次性全部放到adoquery中行不行?
      

  4.   

    提示:
    对象名NS01.gyldxt.dbo.ld_yx无效。
      

  5.   

    原来是SQL.Add('Select * from NS01.xxgl.dbo.schz  where rqi between :b and  :c ')可以执行。
    但SQL.Add('Select * into abc from NS01.xxgl.dbo.schz  where rqi between :b and  :c ')就不可以执行。
    提示:
    检测到错误类EDatabaseError,错误信息:‘ADOQuery1:命令文本不能返回一个结果集'。
      

  6.   

    我从来不喜欢用链接服务器,我一直用openrowset()SELECT * INTO # FROM openrowset('sqloledb','IP';'sa';'密码','SELECT * FROM database..tablename')
      

  7.   

    SQL.Add('Select * into abc from openrowset('sqloledb','192.168.1.168';'sa';'123','SELECT * FROM xxgl.dbo.schz  where rqi between :b and  :c')');这个语句有错吗?
    怎么提示expected but identifier 'sqloledb' found的?
      

  8.   

    哥们,按6楼的方法,结果都是一样:
    检测到错误类EDatabaseError,错误信息:‘ADOQuery1:命令文本不能返回一个结果集'。
      

  9.   

    楼主要这样写
    adoquery1.execsql;而不是adoquery1.open(它要返回记录集)