Tag: ssis 2012

从包内读取SSIS包文件名(包部署)

我使用Package Deployment模型在Visual Studio SSDT 2012中创建了一个SSIS包。 有没有办法从包中读取包的文件名作为只读变量或属性? 我没有看到它被列为系统变量,有没有办法可能通过脚本任务?

清空Excel文件权限问题:SSIS Excel目标通过C:\ Users \ Default缓冲大型记录集

通过DTEXEC.EXE从Web应用程序调用SSIS包。 该程序包使用文件系统任务来制作要用作Excel目标文件的Excel模板文件的副本。 然后,数据流任务将记录从OLE DB源发送到Excel目标。 然后,Excel目标文件将流式传输回Web应用程序用户的浏览器。 当Web应用程序池标识是本地管理员帐户时,此方法正常。 当Web应用程序池标识是恰好以交互方式登录的受限用户时,它也可以工作。 当Web应用程序池标识是未同时登录的受限用户时,会遇到问题。 仍然可以正确返回小的Excel文件(几百行)。 没问题。 大型Excel文件(几万行)将返回空。 流式文件中没有返回给用户浏览器的行。 写在服务器上的目标文件也是空的。 SSIS包没有看到错误,并报告通过数据流传递了数万条记录。 这不是SQL Server端的权限问题。 当用户帐户被赋予SQL Server sysadmin时,它仍然无法将任何行写入更大的Excel目标文件。 这看起来像是Windows端的权限问题,可能涉及将缓冲区写入磁盘,这就是为什么只处理几百行时不会出现问题的原因。 希望通过增加DefaultBufferMaxRows(10,000行)和DefaultBufferSize(10 MB)的数据流任务设置来避免磁盘缓冲。 但是,不幸的是,这不起作用。 这是一个已解决的问题,可以帮助任何可能遇到类似问题的人。