动态文件名我试图创建SSIS数据流来帮助我通过FTP上传文件,我有一个有点麻烦。文件的名称需要是动态的,格式为filename_mmddyy.xls。因此,它每天都会应用日期并上传新文件。SSIS - 用于FTP组件
我能够让这个文件会在数据流中正确保存以下表达式:
@[User::path]+
Right("0"+(DT_STR,4,1252)DatePart("m",getdate()),2)+
Right("0"+(DT_STR,4,1252)DatePart("d",getdate()),2)+
Right("0"+(DT_STR,4,1252)DatePart("yyyy",getdate()),2)+
".xls"
的FTP组件,但是,不会将作为localPath一个表达式。我尝试在我的原始数据流中覆盖脚本组件内的User :: path变量,但这似乎也不起作用。
我知道我失去了一些东西每个简单,但我盯着它足够长的时间,它只是没有向我涌来。
谢谢!
编辑
好了,打打闹闹的另一天之后,这里是我想出来的:
我做了我原来的任务来创建我的平面文件。注意,我的供应商实际上需要一个真正的excel xls而不是一个csv,所以我必须建立一个文件连接目的地,然后我需要在我的服务器上创建一个静态文件。
然后我用一个脚本任务(C#)的静态文件复制到文件与动态域名。当然,我必须离开原始文件,因为excel目标需要在那里。
最后,我提出另一种文件的连接和使用上述表达式,因为它的连接字符串。然后我有FTP任务使用文件连接作为文件上传。
我要去尝试和修剪它全部下来一点。我想我可以逃避不使用脚本任务,而是使用文件系统任务来复制和使用文件连接来帮助使用动态路径名。
底线我学到的是:在SSIS中,当它说:“PathIsVariable”,你把在文本字段什么是作为一个变量。因此,如果我放入@ [User :: path],它将解析为“C:\ pathonmydrive”。然后SSIS查找具有该名称的变量,即C:\ pathonmydrive来查找该文件。这有点反直觉,但现在我知道我可以避免这个陷阱。
只是回答了这个问题解释如何正确地通过一个脚本组件设置一个变量。但这可能不是你的问题所在。我一直在四处传送文件用FTP组件和动态文件连接器和目睹了一些......“怪癖”与SSIS。只要让我知道,如果它不工作和虐待很乐意帮助诊断问题 – cfrag 2012-07-20 09:11:46