【问题标题】:Error checking for a fileexist in a script检查脚本中是否存在文件时出错
【发布时间】:2019-02-01 01:44:40
【问题描述】:

我正在检查包任务中的 File.Exists,但真正的优先约束永远不会发生,因为 Exists() 始终为 false。

这是部分代码

....

if (File.Exists(fullPath))
        {
            Dts.Variables["User::varFileExists"].Value = 1;
        }
        else
  1. 文件在该位置,而不是结果。
  2. 我硬编码了文件路径,而不是结果。
  3. 当我在本地运行时,包按预期运行,但是当我部署时不起作用。
  4. 变量具有正确的包范围。

有什么建议吗?

【问题讨论】:

  • 您的程序是否有足够的权限来检查该路径?
  • 您能否确认变量中的值也正确,您正在检查,但您的代码应该是正确的。虽然我会将变量设置为您的 1 或 0,但最后更新变量值
  • 变量的值没问题。包正在使用参数运行,并且它们已经设置,只是当您部署到 prod 时不会运行。问题是文件。存在

标签: c# ssis


【解决方案1】:

当它在本地工作,但在部署时不工作,通常是以下两种情况之一:

  1. 运行已部署包的系统用户帐户没有所需的权限。

  2. 您正在使用本地计算机上存在的文件/文件夹的本地路径,但在您的 SSIS 服务器上不存在(或无法访问)。

【讨论】:

  • 对我来说很困惑。首先是因为我同样在部署包,并且我拥有管理员权限,其次是因为该文件存在。我还验证了系统用户正在运行包,并在文件夹下添加了用户。所以我被卡住了
【解决方案2】:

问题已解决,与权限无关。该问题与使用脚本任务而不是使用脚本组件有关。

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 2013-12-07
    • 1970-01-01
    • 2014-04-13
    • 2023-01-20
    • 2013-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多