none
在Access2012中如何使用VBA执行SSIS包? RRS feed

  • 问题

  • 如题,敢问各位大侠,在Access中如何使用VBA运行SSIS包?

    首先,在工具菜单中已经引用了dts.dll(Microsoft DTS Runtime 1.0);

    其次,DTSX文件在设计模式下可以正常导数据;

    然后在access中写了如下vba代码,但是调用过程中弹出代码为"0x80131621 "的错误。

    Private Function ExecuteDtsMdb(ByVal strPackageName As String, ByVal strParam1,ByVal strServerMDBFilePath As String) As Boolean

        Dim strUserID         As String
        Dim strPassWord       As String
        Dim strServerName     As String
        Dim strCatalogName    As String
        Dim objPackage        As New DTSLib.Package 
        Dim app As New DTSLib.Application
        Dim blnRtn            As Boolean
        Dim pkgContainer As IDTSContainer100

        strUserID="A"

       strPassWord="B"

       strServerName="C"

        strCatalogName="D"

        Set objPackage = app.LoadFromSQLServer(strPackageName, strServerName, strUserID, strPassWord, False, Nothing)

        Set pkgContainer = objPackage

        pkgContainer.Variables("strParam1").Value = strParam1

        Dim ret As DTSLib.DTSExecResult
        ret = objPackage.Execute

        DoEvents

    End Function

    希望各位帮忙解答的是:

    1)上面代码中对package包的使用有没有思路上的问题?

    2)弹出错误的原因可能有哪些?(DTSX文件在设计模式下可以正常导数据)

    3)希望能提供一套正确的例子程序。

    拜谢各位了。

    2013年7月2日 12:22

答案

全部回复