在SSIS(2014)脚本任务中,我有一段非常简单的代码,用于检查共享文件夹中是否有文件:
DirectoryInfo d = new DirectoryInfo(Dts.Variables["folderSourcePath"].Value.ToString());
Dts.Variables["fileCount"].Value = d.GetFiles().GetLength(0);
现在:
当我从Visual Studio运行包时 - 结果没问题
当我从SSIS服务器上的作业运行包时 - 结果没问题
当我从SSMS手动运行软件包时(右键单击打包并执行)我正在访问路径'\ server \ folder'被拒绝例外。
用户名始终相同且用户具有对共享文件夹的完全访问权限。我正在记录System :: UserName变量,并且用户始终都是相同的。
那么为什么当我从手边运行它时包的行为会有所不同?如何获取用于执行代码和访问共享文件夹的真实用户名?