【问题标题】:Flat File Source Failing When Deployed and Executed部署和执行时平面文件源失败
【发布时间】:2016-12-25 22:02:32
【问题描述】:

我正在尝试创建一个简单的 SSIS 包,该包可以部署到另一个域(同一台计算机)上具有 SSIS 的 VM。如果我只是在源计算机上从 SSDT 运行数据流,我创建的包将传输数据,但是当我尝试部署和执行它时,它似乎有 2 个错误。首先是它无法打开数据文件“C:\SSIS\Product Data.txt”。第二个是平面文件源 1 未能通过预执行阶段。我认为第二个错误是由第一个错误引起的。有谁知道如何创建一个可以在没有平面文件源的情况下将数据传输到另一台计算机的包? 提前致谢!

【问题讨论】:

    标签: ssis ssms sql-server-data-tools flat-file


    【解决方案1】:

    C:\SSIS.... 将引用正在执行包的计算机的本地 C 驱动器。因此,如果您在 VM 上安装它,它将位于 \VM\C$。通常它意味着两件事中的一件。

    1) 文件路径不正确,您没有引用文件的实际位置。

    2) 执行包的用户没有该文件的权限。

    那么文件在执行 SSIS 包的机器的 C 盘上的什么位置?您的问题的答案并不清楚。

    第二个文件是如何被执行的?手动执行,例如 DTS_Exec? SQL 代理? T-SQL?如果是手动,则登录执行任务的用户必须有权限,如果是 SQL Agent,则 sql agent 服务帐户和可能的 sql server 服务帐户必须对文件有权限,而 T-sql sql server 服务帐户需要有权限.

    当它是本地文件路径时,本地用户或域用户将为服务帐户工作。如果网络路径,则用于服务帐户的本地用户将无法工作,您需要设置一种方式以作为不同的凭据运行。

    【讨论】:

    • 经过更多工作,我认为问题在于虚拟机无权访问该文件。 SSMS 中的连接字符串只是源计算机上文件的路径。我无法从正在执行它的 VM 上的任何位置的文件中找到数据。我需要 VM 能够执行包,就好像它没有连接到源一样。您知道通过部署发送文件的方法吗?我相当肯定这会解决我的问题。谢谢!
    • 我不确定你将如何通过部署来实现,这可能是你可以用谷歌搜索的东西,这取决于你使用的部署模型类型(项目或包)。通过 SSIS 文件系统任务或脚本任务,很容易将其从一个移动到另一个,但您确实提到它们位于不同的域中,所以这使得它变得更加困难......
    猜你喜欢
    • 2012-03-19
    • 2021-05-21
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    相关资源
    最近更新 更多