我是SSIS的新手,我很难搞清楚看起来应该是直截了当的事情:
在服务器A上,我在“C:\ SourceFiles \ Patients”中有10个文件(这些文件是PDF)。我知道这10个文件的名称,它们不会改变。此外,还有一个服务器B,它是数据库服务器,是SSIS包所在的位置。我的目标是遍历包含患者的数据库表,将一些患者数据添加到10个源文件(重命名文件),然后将这个新文件保存到服务器A.
我已经完成了大部分运行。目前,所有这一切都发生在使用ADO.NET进行数据库访问的脚本任务中(我已经访问了服务器B上的数据库表)并且我正在访问本地C驱动器上的源文件。
我无法确定如何在源文件的包配置中指定服务器A.我有一个文件连接,它指定一个现有的文件夹(C:\ SourceFiles \ Patients),但它只指定文件夹的位置而不是服务器。如何为此文件连接指定服务器A?或者,如何将此文件连接与服务器A连接一起使用?我出于某种原因难以理解这一点!!
我正在使用的技术是: Visual Studio 2008, SSIS脚本任务中的C#, ADO.NET中的SSIS脚本任务和 SQL Server Management Studio 2008(将在此处导入SSIS包)。
感谢您指出我正确的方向!
答案 0 :(得分:1)
我看到你要做的事情有些问题。
PDF是图像格式(文档的图像),因此不容易被SSIS操纵。通常,如果您使用SSIS中的文件,它将是某种平面文件,如CSV或其他文本格式。
使用脚本任务在SSIS中完成所有工作无法正确使用SSIS的强大功能。如果您在SSIS项目中拥有的只是一个脚本任务,那么您应该直接使用C#或VB.net,而不是在项目中涉及SSIS。
总而言之,您应该使用UNC(通用命名约定)路径访问服务器A上的文件。您需要密切关注SSIS中的权限才能使其正常工作。当SSIS作业运行时,它在特定用户(通常是SQL Server代理用户)下运行,并且该用户需要具有远程访问服务器A上的文件夹的权限。正确设置所有这些权限后,您可以使用类似于\\ ServerA \ ShareName \ Patients \的内容作为指向目录的指针,其中包含pdf文件。