6

嗨,我想知道你是否可以帮助...

每周我都会收到此错误。

“平面文件源”(471) 未通过预执行阶段并返回错误代码 0xC020200E。无法打开数据文件“G:\Data\待处理\RO_Orders.csv”。

我知道,如果我进入平面文件连接管理器编辑器并在此位置“G:\Data\To be processed\RO_Orders.csv”浏览文件,它将起作用。就好像我每周都必须重置文件的位置一样,文件与往常一样位于相同的位置。

我没有编辑文件,也没有移动位置。

我有很多其他的包可以加载不同类型的数据,它们都很好。

我还附上了一个错误的日志记录文件。

我也不认为这是一个所有权错误,因为我可以完美地运行其他包并且它们都归同一个人所有。

这是一个反复出现的烦恼,我似乎无法弄清楚它为什么会发生......想法?

提前致谢。

4

11 回答 11

4

尝试在Expressions. ConnectionString在属性下输入您正在加载的文件的服务器上的完整文件路径。

于 2013-07-22T09:44:52.557 回答
3

对我来说,这是通过 SQL Server 将包作为作业运行时的权限错误。

解决方案是将运行 SQL Server 的用户帐户添加到具有读/写权限的文件夹中。

于 2015-05-13T10:50:49.910 回答
2

我们发现如果我们尝试在不同的工作站上从 SSMS 运行包(可能以不同的用户身份连接?)然后我们会得到这个 csv 访问问题。但是,如果我们从服务器本身的 SSMS 执行包,或者如果我们运行从任何地方执行包的 SQL 代理任务(从我的 PC 或服务器启动它),那么它工作正常。它必须在我的电脑上通过 SSMS 进行一些用户令牌切换或任何尝试。

于 2015-01-29T20:58:37.457 回答
1

在连接文件所在的网络驱动器 (H:) 时,我没有检查连接字符串以及文件在 SSIS 中从哪个级别获取它。

这就是为什么我必须为每个步骤重置连接,因为它没有正确匹配。

于 2014-01-21T09:58:01.517 回答
1

如果您在执行包时打开了平面文件。你也可以看到这个错误

于 2021-11-14T22:04:17.397 回答
0

有同样的问题。这对我来说是一个权限/用户设置。我能够使用为 SQL Server 代理(SQL Server 配置管理器)设置服务启动帐户来将当前的 SQL Server 代理用户更新为我自己。

于 2015-06-13T00:38:51.270 回答
0

我遇到了类似的错误:

无法从平面文件连接管理器中检索列信息

我将延迟验证设置为 TRUE。我正在使用表达式从变量中设置 CSV 文件的文件名。文件名已更改,但没有其他内容。即使我会调试代码并知道变量设置正确,这个错误也会继续。我什至用旧的有效文件名填充表达式变量作为​​占位符(由脚本覆盖)。

唯一有效的是创建一个新的连接管理器。使用变量(使用旧文件名占位符)这立即解决了问题。

所以简而言之,由于我不太清楚的原因,尽量避免重复使用连接管理器。

希望这可以帮助某人。

于 2020-04-01T07:08:29.607 回答
0

对我来说,我意外地在两个范围内创建了一个同名的变量。一个是在完整的 SSIS 包中创建的,另一个是为 For Each 循环创建的。当我消除了我为每个循环创建的那个时,我的问题就解决了。在此处输入图像描述

于 2020-10-31T19:50:08.597 回答
0

对我来说,问题是我必须注册服务器。我一直在自己的服务器/数据库上处理自己的项目,在添加 For Each Loop 之前,包运行良好。它只是在注册服务器时添加 For Each 循环后再次运行。

于 2021-01-10T20:34:05.897 回答
0

我会检查以确保您的 SQL Server 服务帐户对登录文件夹具有完全权限。

在遇到与您相同的问题后,我终于检查了为我们的 SQL Server 服务帐户创建的文件夹权限。来发现它缺少“完全控制”和“修改”文件夹权限。一旦我将这些授予我们的服务帐户,问题就消失了。

文件夹权限对话框

于 2018-10-01T20:36:03.820 回答
0

我的文件夹权限正确。我什至以控制 SQL Server 代理服务的用户身份登录服务器,并且可以访问该文件。我进入了 SSIS 包,结果发现我没有完全限定网络路径。

于 2019-08-08T17:28:49.747 回答