首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SSIS:使用文件系统任务复制文件后,无法写入Excel文件(.xlsx

SSIS:使用文件系统任务复制文件后,无法写入Excel文件(.xlsx
EN

Stack Overflow用户
提问于 2019-07-12 02:30:09
回答 2查看 282关注 0票数 0

在我目前的场景中,我实现了一个从SQL数据库中读取数据并写入excel文件的功能。

文件系统任务组件:我要写入的目标excel文件正在从其他源目录复制到目标目录。源目录中有一个excel文件,我将其作为模板复制到目标目录中。为此,我使用了"File System Task"组件和"Copy File"特性。

问题:“文件系统任务”成功复制了文件,但后来写入excel文件失败,并出现以下错误。

代码语言:javascript
复制
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.我还检查了将文件写入目标目录的适当访问权限。

下面是我的控制流的截图。

任何朝向解决方案的方向都是值得赞赏的。有类似的帖子,但我发现了相同的错误,但我想知道为什么我的问题看起来不同。

EN

回答 2

Stack Overflow用户

发布于 2019-07-12 03:14:26

即使Excel文件已经存在,也必须运行执行SQL任务才能在Excel文件中创建表/工作表。

如果您将此步骤添加到文件系统任务之后,并正确地参数化您的Excel连接,则它应该允许您在数据流中插入数据。

票数 0
EN

Stack Overflow用户

发布于 2019-07-18 00:24:43

我相信这可能是解决这类问题的答案之一,因为我发现了各种场景,指向解决这类问题。因此,我发布了我的分类方法,它帮助我克服了这个问题。

我检查了以下内容:

  1. 首先,我检查了Task Manager,看看是否有任何与Microsoft Excel相关的现有进程占用了我的文件。但事实并非如此。(即,我没有找到现有的流程)
  2. 第二,我应用了以下步骤进行分类。2.1。我从写入新文件的目标目录中删除了所有以前的文件,以确保重新运行批处理。2.2。我清除了%temp%目录中的所有内容。(我认为可能/不是每个人都是这样) 2.3。执行完上述步骤后,我注意到在我们提供Name of the Excel sheet的SSIS Excel Destination component中,组件自动调整以$为后缀的文件名,以表明组件已成功建立与所需路径的连接,以读取源模板。对于ex。我的文件名是New_Carriers.xlsx,组件将其改名为New_Carriers$。2.4。在做完这些事情之后,我一直在运行我的包,直到现在没有任何问题。虽然,这可能是直截了当的,但花了相当长的时间来分类和确认如何顺利地处理Excel Destination
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56995349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档