您好我遇到了文本文件的SSIS日志提供程序的路径目标
首先我使用路径静态像D:\\
但是现在路径我想从sql表中获取路径并将其放在变量上,
所以我为SSIS txt文件连接字符串创建表达式构建器
@[User::LogPath]+ @[System::PackageName]+ ("_"+(RIGHT((DT_WSTR,4)
DATEPART("yyyy",GetDate()),4)+
RIGHT("0"+(DT_WSTR , 2)
DATEPART("mm", GetDate()),2)+
RIGHT("0"+(DT_WSTR,2)
DATEPART("dd",GetDate()),2)+"_"+
RIGHT("0"+(DT_WSTR,2)
DATEPART("HH",GetDate()),2)+"_"+
RIGHT("0"+(DT_WSTR,2)
DATEPART("mi",GetDate()),2)+"_"+
RIGHT("0"+(DT_WSTR,2)
DATEPART("SS",GetDate()),2))+".log")
但@[User::LogPath]
没有'给出路径值,使得txt日志文件没有创建
答案 0 :(得分:1)
我已在所有SSIS包中设置并运行,因为我喜欢保持所有表驱动。
在每个包中,我创建了一个名为“LoggingPath”的字符串变量,该变量使用如下所示的select语句填充SQL任务:
SELECT FilePath
FROM Files
WHERE FileFunction = 'Log'
AND SSISPackage = 'ImportStuff'
在此SQL任务中,ResultSet设置为“单行”。对于结果集,我有结果名称= 0和变量名称=“User :: LoggingPath”引用前面提到的变量。对于此SQL任务,我也将延迟验证设置为“True”。
当SQL任务运行时,它会填充在SSIS日志文本日志文件下的以下表达式(类似于您的表达式)中使用的变量:
@ [User :: LoggingPath] +“\\”+ @ [System :: PackageName] +“_”+(DT_STR,4,1252)DATEPART(“yyyy”,@ [System :: StartTime])+右(“0”+(DT_STR,4,1252)DATEPART(“mm”,@ [System :: StartTime]),2)+ RIGHT(“0”+(DT_STR,4,1252)DATEPART(“dd”, @ [System :: StartTime]),2)+ RIGHT(“0”+(DT_STR,4,1252)DATEPART(“hh”,@ [System :: StartTime]),2)+ RIGHT(“0”+( DT_STR,4,1252)DATEPART(“mi”,@ [System :: StartTime]),2)+ RIGHT(“0”+(DT_STR,4,1252)DATEPART(“ss”,@ [System :: StartTime] ),2)+“。csv”
确保您记得应用双反斜杠“\\”,如上所示。希望这会有所帮助。
信贷基金