我创建并向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]
还有一件事 - 如何将这些错误记录到文件中?
答案 0 :(得分:1)
当您ftp该文件时,它实际上是否以正确的名称将其复制到您希望的位置?您可能想要输入文件的绝对路径。
在尝试从应用程序运行SSIS包之前,我倾向于从命令行获取SSIS包,更容易以这种方式进行调试。