gpt4 book ai didi

.net - 尝试在 VB .NET 中执行 DTS 包时出现 "Invalid class string"

转载 作者:行者123 更新时间:2023-12-03 00:52:50 25 4
gpt4 key购买 nike

我有一个在我们的 MS SQL Server 2000 数据库服务器上运行的 DTS 包,并且需要一种方法让用户从自己的计算机上执行它。 (该包创建文件,然后由我的应用程序传输到客户端计算机。)我已在应用程序中包含“Microsoft DTSPackage Object Library”COM 引用,但在执行第一步时仍然收到“无效类字符串”错误。包被执行。我还尝试注册 SQL Server 2000 光盘的 redist.txt 文件中指定的所有 DLL。任何想法或建议将不胜感激。 DTS 包非常简单。它只是将数据从 SQL 数据库复制到 Visual FoxPro 表中。我执行该包的代码如下(其中大部分摘自 Microsoft 的知识库文章:http://support.microsoft.com/kb/321525)。

        Dim pkg As DTS.Package
pkg = New DTS.Package
Dim cpContainer As System.Runtime.InteropServices.ComTypes.IConnectionPointContainer
cpContainer = CType(pkg, System.Runtime.InteropServices.ComTypes.IConnectionPointContainer)
Dim cpPoint As System.Runtime.InteropServices.ComTypes.IConnectionPoint
Dim PES As PackageEventsSink = New PackageEventsSink

Dim guid As Guid = New Guid("10020605-EB1C-11CF-AE6E-00AA004A34D5")

cpPoint = Nothing
cpContainer.FindConnectionPoint(guid, cpPoint)

Dim intCookie As Integer
cpPoint.Advise(PES, intCookie)

pkg.LoadFromSQLServer(DTS_SERVER_NAME, , , DTSSQLServerStorageFlags.DTSSQLStgFlag_UseTrustedConnection, dtsPassword, , , dtsName, Nothing)
If pkg Is Nothing Then Throw New ApplicationException("The DTS Package could not be loaded from the SQL Server.")

Dim pkgStep As DTS.Step
For Each pkgStep In pkg.Steps
pkgStep.Execute()
Next

pkg.UnInitialize()
pkg = Nothing

cpPoint.Unadvise(intCookie)
cpPoint = Nothing
cpContainer = Nothing
PES = Nothing

最佳答案

如果您在用户 PC 上安装完整的 SQL Enterprise Manager 客户端工具作为测试,他们能否成功运行?也许您缺少一些要求。请记住,DTS 包本身将在用户的 PC 上本地执行,而不是在服务器上执行。

关于.net - 尝试在 VB .NET 中执行 DTS 包时出现 "Invalid class string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2419625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com