当从任务计划程序计划 SSIS 包时,文件未从一个目录移动到另一个目录
File not Moved from one directory to another when SSIS Package is scheduled from task scheduler
我正在 SQL Server 2016 环境中使用包部署模型开发 SSIS 包。
我有一个文件移动功能,它在 Visual studio 中 运行 很好,而且当它是 运行 从命令提示符使用下面的命令手动
"C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /F "D:\project\Package1.dtsx"
当任务计划程序中的计划相同时文件不会从同一系统上的一个文件夹移动到另一个文件夹。
最初我使用了文件系统任务,它的行为也如上所述。后来我用脚本任务替换了它,并在下面写了一行代码。还是不行。
try
{
System.IO.File.Move(Convert.ToString(Dts.Variables["User::FileName"].Value), Convert.ToString(Dts.Variables["User::ProcessFolder"].Value));
}
catch (Exception)
{
}
我遇到了同样的问题。我很想记录异常。就我而言,也不例外。任务运行到成功完成(至少输出是这么说的)。但是,没有文件被移动,没有日志文件被创建。在我看到的日志和报告中,一切看起来都很正常。
我发现了两件事,但不确定哪一件解决了问题。确保脚本任务具有与服务器相同的平台目标(32 位与 64 位)。每:
1) 编辑脚本
2) 右键单击看起来像 GUID 的 c# 项目名称并选择属性
3) Select 属性页左侧的构建菜单
4) 设置平台目标 = x86
我还确保数据工具中的目标与服务器版本匹配。在开发人员设置中:
1) 右键单击项目和 select 属性
2) 在配置属性下 select 常规
3) 将 TargetServerVersion 设置为您的目标 SQL 服务器。
我正在 SQL Server 2016 环境中使用包部署模型开发 SSIS 包。 我有一个文件移动功能,它在 Visual studio 中 运行 很好,而且当它是 运行 从命令提示符使用下面的命令手动
"C:\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\DTExec.exe" /F "D:\project\Package1.dtsx"
当任务计划程序中的计划相同时文件不会从同一系统上的一个文件夹移动到另一个文件夹。
最初我使用了文件系统任务,它的行为也如上所述。后来我用脚本任务替换了它,并在下面写了一行代码。还是不行。
try
{
System.IO.File.Move(Convert.ToString(Dts.Variables["User::FileName"].Value), Convert.ToString(Dts.Variables["User::ProcessFolder"].Value));
}
catch (Exception)
{
}
我遇到了同样的问题。我很想记录异常。就我而言,也不例外。任务运行到成功完成(至少输出是这么说的)。但是,没有文件被移动,没有日志文件被创建。在我看到的日志和报告中,一切看起来都很正常。
我发现了两件事,但不确定哪一件解决了问题。确保脚本任务具有与服务器相同的平台目标(32 位与 64 位)。每:
1) 编辑脚本
2) 右键单击看起来像 GUID 的 c# 项目名称并选择属性
3) Select 属性页左侧的构建菜单
4) 设置平台目标 = x86
我还确保数据工具中的目标与服务器版本匹配。在开发人员设置中:
1) 右键单击项目和 select 属性
2) 在配置属性下 select 常规
3) 将 TargetServerVersion 设置为您的目标 SQL 服务器。