【问题标题】:Can't get my SSIS package to run无法让我的 SSIS 包运行
【发布时间】:2009-08-17 20:12:12
【问题描述】:

我创建了一个包并将其部署到 SQL Server 2005。该包基本上通过 FTP 下载一个文件 (.csv) 并将内容提取到一个表中。清理数据,然后将数据移动到生产表中。

部署包后,我尝试从一个简单的 .NET 应用程序调用它

      Dim app As New Application
    Dim pkg As Package

    Try
        pkg = app.LoadFromSqlServer("OrderImport", "machine\dataware", "sa", "sapassword", Nothing)

        Dim result As DTSExecResult = pkg.Execute()
        MsgBox(result.ToString)
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        app = Nothing
        pkg = Nothing
    End Try

并收到消息“失败”。然后我通过 Management Studio 进入 SSIS 并尝试从那里执行包。它能够通过 FTP 下载文件,但是,当它到达 .CSV 文件以提取数据时,它会显示错误

The system cannot find the file specified
ERROR: Cannot open the datafile filename.csv

我还能看什么?如果可能,我希望能够使用 SQL Server 用户帐户执行包。

在包装级别我有

ProtectionLevel = EncryptSensitiveWithUserKey
PackagePassword = [BLANK]

还有一件事 - 如何将这些错误记录到文件中?

【问题讨论】:

    标签: .net sql-server-2005 ssis


    【解决方案1】:

    当您对文件进行 ftp 处理时,它实际上是在使用正确的名称将其复制到您期望的位置吗?您可能需要输入文件的绝对路径。

    我倾向于在尝试从应用程序运行 SSIS 包之前从命令行运行它,这样更容易调试。

    【讨论】:

    • 您使用哪些命令从命令行运行?在“对于每个循环编辑器”中,我选择了“名称和扩展名”。
    • +1 表示“我倾向于在尝试从应用程序运行 SSIS 包之前从命令行运行它,这样更容易调试。”我见过太多的人在应用程序甚至在 cmd 上工作之前就潜入了与它的集成!
    • 因为我在64位Vista上开发,但是excel源需要32位我用这个:C:\Windows\system32>"c:\Program Files (X86)\Microsoft SQL Server\ 100\dts\Binn\dtexec.exe" /f "C:\Users\owner\Documents\FormulaItems.dtsx" /X86
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多