×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

随便google 一下就有现成的例子阿。

http://www.sqlteam.com/item.asp?ItemID=12408

' Generate an FTP command file to verify that transfer worked.
set oFile = oFSO.OpenTextFile( DTSGlobalVariables ("TransferFTPVerifyReq").Value , 2, 1)
oFile.writeline ("open " & DTSGlobalVariables("TransferFTPServer"))
oFile.writeline DTSGlobalVariables("TransferFTPLogin")
oFile.writeline DTSGlobalVariables("TransferFTPPassword")
oFile.writeline "cd incoming" & vbCRLF & "ls -l " & vbCRLF & "quit"
oFile.Close

set @cmd = 'ftp -i -s:' + @ftpcommandfile
Insert into tempdb.dbo.RequestFiles (Filename)
Exec master.dbo.xp_cmdshell @cmd
Report

Replies, comments and Discussions:

  • 工作学习 / 专业技术讨论 / 请教关于SQL SERVER DTS编程的问题, 一个小功能憋了一天没弄出来, 请各位有经验的老大帮忙看看.
    需求是这样的,每天有一个FTP JOB向FTP的一个文件夹上传两个文件, 随后我的DTS要去相应的文件夹把文件取下来,倒入两个表中,查询后按一定格式输出为.csv的文件.
    小弟的问题是,如何用ActiveX (VB script)在FTP服务器上得到文件的last modified date 或 created date , 用来验证上传文件是否是最新的(前一天上传上来的), 以保证每次产生的report都是根据最新数据产生. 因为数据中没有任何日期类型的数据,所以只有在操作系统级去判断. 本来想在将FTP文件取到本地再来验证,谁知道每次get的文件时间属性都被修改了,根本看不出源文件的时间. 如何实现在服务器端得到文件的时间属性? 请各位指点!谢谢!
    • 看不明白“ActiveX (VB script)在FTP服务器上得到文件的last modified date 或 created date “
      首先ftp server 上的文件是不是原文件?如果也是上传上去的,那文件的时间只是上传时间。

      这个activeX是什么意思,是不是相当于一个ftp client ? 那你要取时间,就要看这个控件支不支持ls -l ,你有没有办法从输出结果找到你需要的时间。
      • 谢谢回复, FTP的文件是由其他程序上传上去的, 我要做的在DTS里面用程序取得源文件的时间属性并判断该文件是不是最新的,而不是用手动操作或者其他FTP软件.
        • 明白了。我没做过,不过帮你google了一下:
          访问文件似乎不难:

          Dim fso 'File system object
          Set fso = CreateObject("Scripting.FileSystemObject")
          IF (fso.FileExists("C:\temp\download.tmp")) THEN

          加你的代码

          END IF

          去查 Scripting.FileSystemObject 的帮助,有DateCreated 和DateLastModified属性。


          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/jsoriFileSystemObjectProperties.asp


          http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dtssql/dts_elemwkflow_0793.asp
    • 再次感谢,我查了查关于filesystemobject的属性,在取得远程ftp文件的时候,好象可以取得文件名字,路径,是否只读等,而没办法取得远程文件的更新时间,那位大大做过类似的程序?能否帮忙分析分析?
      • 随便google 一下就有现成的例子阿。
        http://www.sqlteam.com/item.asp?ItemID=12408

        ' Generate an FTP command file to verify that transfer worked.
        set oFile = oFSO.OpenTextFile( DTSGlobalVariables ("TransferFTPVerifyReq").Value , 2, 1)
        oFile.writeline ("open " & DTSGlobalVariables("TransferFTPServer"))
        oFile.writeline DTSGlobalVariables("TransferFTPLogin")
        oFile.writeline DTSGlobalVariables("TransferFTPPassword")
        oFile.writeline "cd incoming" & vbCRLF & "ls -l " & vbCRLF & "quit"
        oFile.Close

        set @cmd = 'ftp -i -s:' + @ftpcommandfile
        Insert into tempdb.dbo.RequestFiles (Filename)
        Exec master.dbo.xp_cmdshell @cmd
        • 好象有道理哦!!我怎么没google出来?难道google的水平这么差?谢谢楼上三次回贴.谢谢!