ADOComm.CommandText:=insert into UsrA01  select * From OPENROWSET(''MSDASQL'',''DRIVER={SQL Server};SERVER=(LOCAL);UID=sa;PWD='+''''+',Ykchr.dbo.UsrA01)';
        ADOComm.Execute ;
这句嵌套在delphi里面做从sql库导出到access库的语句,
ADOComm连access库,我试了一下在delphi里面编译过之后是这样的:
insert into UsrA01 select * From OPENROWSET('MSDASQL','DRIVER={SQL Server};SERVER=(LOCAL);UID=sa;PWD=',Ykchr.dbo.UsrA01)
好像没有语法错误,但为什么在delphi里面一执行就报语法错误?请教高手指点一下,这句倒底如何嵌套在delphi里面?

解决方案 »

  1.   

    var
      sqlStr: string;
    begin
    sqlStr:='insert into UsrA01 select * From OPENROWSET(''MSDASQL'',''DRIVER={SQL Server};SERVER=(LOCAL);UID=sa;PWD='',Ykchr.dbo.UsrA01)';
    end;
      

  2.   

    ADOComm.CommandText:='insert into UsrA01  select * From OPENROWSET(''MSDASQL'',''DRIVER={SQL Server};SERVER=(LOCAL);UID=sa;PWD='',Ykchr.dbo.UsrA01)';
            ADOComm.Execute ; 
      

  3.   

    这段sql语句最后好像是应该提交到Access中去的吧,Access应该不支持OPENROWSET吧
      

  4.   

    你可以先改变ADOConnection的连接 连接到你要取数据的MSSQL数据库
    执行完成后在改变 ADOConnection的连接回到ACCESS数据库