具体想实现这样的功能:
系统分外网和内网,外网是sql server的数据库,用户可以在外网的系统里面通过复选框选择多个项目,然后点击导出按钮将选中的项目导出到Access数据库里面并且保存到客户的本地机器上,然后客户在内网的系统里面点击导入,选择导出的Access文件,把导出的数据导入岛内网的sql server的数据库里面

解决方案 »

  1.   

    用DTS好了,做個.bat
    調用貌似就可以了啊
      

  2.   

    可以在外网数据库上把数据到出来保存在外网服务器上 ,在通过SOCKET的方式传输到客复端上,在把客户端的数据导入到客户数据库上
      

  3.   

    DTS怎么用啊,我没有用过,大家帮忙,或者给点实例也行,如果分不够的化可以再加
      

  4.   

    //ExtractFilePath(Application.ExeName)
    //WinExec('OSQL -S whw  -U sa -P -i f:\file\xmdm.sql',SW_Hide);
    //if   WinExec('OSQL -S whw  -U sa -P -i f:\file\xmdm.sql',SW_Hide)<32 then
    //  ShowMessage('脚本错误');
     WinExecAndWait32('COMMAND.COM  /C  COPY  C:\AUTOEXEC.BAT  D:\',SW_NORMAL);
     showmessage('ok');
    这是在 delphi 里面作的东西 调用一个sql语句 
    sql语句里面就是 bcp语句
    set @sql='bcp "'
    set @sql=@sql+'Select rtrim(DM) as 币种代号,rtrim(MC) as 币种名称,t'
    set @sql=@sql+'   from ##bz '
    set @sql=@sql+'order by dm'
    set @sql=@sql+ '     "  queryout '+@path+'bz.txt /c /t"\t" -S'+@servername+' -U'+@username+' -P'+@pas+'' 
    print @sql
    exec master..xp_cmdshell @sql
      

  5.   

    外网的那个, 要写程序才能实现, 因为涉及到用户交互, DTS无法实现友好的用户交互.
      

  6.   

    至于导入/导出的实际处理, 可以用多种方法实现的了.如果就在sql server内进行数据交换, 最好的方式还是直接用BCP, 程序中可以用shell调用bcp.exe实用工具, 或者是用sqldmo的bulkcopy对象
    用ado.net 2.0的话, 还可以用sqlbulk对象.