各位高手,现在对方有个FTP,我每天要把硬盘上指定位置的文件(多个)发送到这个FTP上去,这个存储过程要怎么写?

解决方案 »

  1.   

    先在D盘中创建文件:SLSCONFIGdown.txt  
    里面的内容为: 
    user 
    FTpusername 
    FTPpassword 
    cd WMS 
    put  D:\SLS.cab SLS.cab
    其中 
    FTpusername 
    FTPpassword 
    分别是FTP服务器的用户名和密码 
    cd wms是进入到FTP服务器的wms文件夹下面(该文件夹中有你想要上传并放入文件的文件夹,如果要放的文件目录就是ftp服务器的根目录下面就不用了) 
    最后一句话是把目标文件夹保存为自己本机的文件,该文件可以令起别名 
    然后执行下列语句:exec master..xp_cmdshell 'ftp  -v -d -i -n -g -s:D:\SLSCONFIGdown.txt   ***.***.***.***'
     --***.***.***.***是FTp服务器的ip地址你不是已经发了一个帖子,我在那里也给你回了么
      

  2.   

    只是单纯的传送数据吗?
    要不要FTP传送出错发邮件的功能?
      

  3.   

    先写个简单的建立FTP文件:
    D:ftp_put.txt内容:[code=BatchFile]open 172.172.172.172
    user guestuser
    guestuser
    binary
    cd DataExchange
    lcd D:\test
    mput *.*
    close
    quit[/code]解释:(顺序如上)
    连接目标IP
    user后更用户名
    密码
    binary可以不要(数据传输模式,此为2进制)
    cd 切换远程工作目录(FTP上的接收文件路径)
    lcd 切换到本机工作目录 (要上传得文件路径)
    mput 批量传送(如果要一个一个的传用put命令,楼上的写了)
    close 断开连接
    quit 推出FTP命令行可以用这个执行exec master..xp_cmdshell 'ftp.exe -n -i -s:D:\ftp_put.txt',no_output但是请注意
    在数据量小,传送时间短的情况 用这种方法可以 
    因为,xp_cmdshell 这个命令会等到所有批处理结束后才返回结果
    如果传送时间长,这个命令会一直占着数据库的进程(哈哈,个人感觉不太好,个人观点)数据量大的就改成1.写个批处理.bat
    FTP_PUT.bat
    内容:[code=BatchFile]
    @echo off
    echo open 172.18.1.1>%temp%ftp.txt
    echo user guestuser>>%temp%ftp.txt
    echo dalianguestuser>>%temp%ftp.txt
    echo binary>>%temp%ftp.txt
    echo cd DataExchange>>%temp%ftp.txt
    echo lcd D:\test>>%temp%ftp.txt
    echo mput *.*>>%temp%ftp.txt
    echo close>>%temp%ftp.txt
    echo quit>>%temp%ftp.txtftp.exe -n -i -s:%temp%ftp.txtrem 这样可以加各种附加功能exit
    [/code]2.建个作业(job)执行cmd的作业步骤地内容为:start D:\ftp_put.bat3.激活语句exec msdb..sp_start_job 'test'--job的名字 自设这样就把执行的进程交给操作系统了数据库只是负责激活批文件(所以数据库不会卡,个人观点)
    想要知道区别或要别的功能
    再联系我吧
      

  4.   

    对了
    一定要存储过程嘛?
    设定系统任务也可以啊如果一定要create proc ftp 
    as
    beginexec master..xp_cmdshell 'ftp.exe -n -i -s:D:\ftp_put.txt',no_output--exec msdb..sp_start_job 'test' --或者用这个end
      

  5.   

    怎样通过java代码讲文件每天定时上传到固定的ftp目录下面