在我目前的场景中,我实现了一个从SQL数据库中读取数据并写入excel文件的功能。
文件系统任务组件:我要写入的目标excel文件正在从其他源目录复制到目标目录。源目录中有一个excel文件,我将其作为模板复制到目标目录中。为此,我使用了"File System Task"
组件和"Copy File"
特性。
问题:“文件系统任务”成功复制了文件,但后来写入excel文件失败,并出现以下错误。
Opening a rowset for "C:\Users\Public\Documents\New_Carriers-2019-07-11.xlsx" failed. Check that the object exists in the database.
解决方法/故障排除: 1.我根据其他用户反馈将项目设置为32 bit runtime
。2.我还应用了延迟优先实际开始写入文件。3.我还检查了将文件写入目标目录的适当访问权限。
下面是我的控制流的截图。
任何朝向解决方案的方向都是值得赞赏的。有类似的帖子,但我发现了相同的错误,但我想知道为什么我的问题看起来不同。
发布于 2019-07-12 03:14:26
即使Excel文件已经存在,也必须运行执行SQL任务才能在Excel文件中创建表/工作表。
如果您将此步骤添加到文件系统任务之后,并正确地参数化您的Excel连接,则它应该允许您在数据流中插入数据。
发布于 2019-07-18 00:24:43
我相信这可能是解决这类问题的答案之一,因为我发现了各种场景,指向解决这类问题。因此,我发布了我的分类方法,它帮助我克服了这个问题。
我检查了以下内容:
Task Manager
,看看是否有任何与Microsoft Excel
相关的现有进程占用了我的文件。但事实并非如此。(即,我没有找到现有的流程)%temp%
目录中的所有内容。(我认为可能/不是每个人都是这样) 2.3。执行完上述步骤后,我注意到在我们提供Name of the Excel sheet
的SSIS Excel Destination component
中,组件自动调整以$
为后缀的文件名,以表明组件已成功建立与所需路径的连接,以读取源模板。对于ex。我的文件名是New_Carriers.xlsx
,组件将其改名为New_Carriers$
。2.4。在做完这些事情之后,我一直在运行我的包,直到现在没有任何问题。虽然,这可能是直截了当的,但花了相当长的时间来分类和确认如何顺利地处理Excel Destination
。https://stackoverflow.com/questions/56995349
复制相似问题