这是我感到难过的东西,我已经做了很久了。
迁移到SQL Server 2016,大量ETL。很简单。
其中一个ETL软件包具有一个简单的脚本任务来获取文件表,运行存在的foreach循环文件。
它使用项目参数创建unc(\ servername \ share),然后将其绑定到脚本任务中的文件名。
使用SSISDB中的环境配置设置
在SSDT中执行可以正常工作,部署到目录中并且看不到文件。我知道您会说权限,但我已允许所有人组共享和驱动,以防万一。 SSISDB执行意味着它应该在我的安全性上下文和即时域管理员,本地管理员以及共享的创建者所有者下运行。
甚至很奇怪,我已经创建了一个简单的包来抓取其中一个文件的内容,并导入到转储表中,以防权限或路径不足(即使它们在SSDT中起作用,也可能是SSISDB中的环境配置)。这很不错,因此不能引用SSISDB的环境设置。
请注意,这不是从代理作业运行的,因此不会是由于代理服务器帐户问题引起的。首先需要从ssisdb运行它,然后生病创建代理作业
所以-脚本任务看不到由两个变量构建的UNC共享,它们在ssdt中工作并且在相同的凭据下运行...
开始
脚本任务代码的作用是什么
Dts.Variables("BolFileExists").Value = File.Exists(Dts.Variables("StrLoadFileLocation").Value.ToString & Dts.Variables("StrCurrentFile").Value.ToString)