gpt4 book ai didi

vb.net - 创建 Oracle Connection 导致 COM 类检索出错

转载 作者:行者123 更新时间:2023-12-04 23:51:17 24 4
gpt4 key购买 nike

我正在用 VB.NET 编写一个应用程序,它要求我使用 Oracle 数据访问客户端查询 Oracle 数据库。然后,我使用称为 SCAPI 接口(interface)的东西来访问我们用于数据建模的应用程序的元数据。

我已将问题简化为仅通过单击表单上的按钮执行的两个函数。

当我单击窗体上的按钮时执行此函数。它创建了一个 oracle 连接,但实际上并没有执行任何查询(因为我已经注释掉了其余部分,但仍然出现错误):

Private Sub btnDisplayDirectories_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplayDirectories.Click
Dim ModelMart As String = "Data Source=...;User Id=...;Password=...;"
Dim OraConn As New OracleConnection(ModelMart)
OraConn.Open()
OraConn.Close()
OraConn.Dispose()
End Function

此函数只是使用 SCAPI 接口(interface)创建应用程序对象:

Private Sub btnOpenModel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)         Handles btnOpenModel.Click
Dim oAPI As New SCAPI.Application
End Sub

如果我启动应用程序没有问题,首先单击 btnOpenModel,然后单击 btnDisplayDirectories。如果我点击 btnDisplayDirectories,然后点击 btnOpenModel,我会在 btnOpenModel 的第一行收到一条错误消息:

Retrieving the COM class factory for component with CLSID {2B2219EB-EDE7-49EE-BB89-5A0B4A398A63} failed due to the following error: 80004005.

我实际上已经试验过,我什至不必打开 Oracle 连接就会出现此错误,只需定义 Oracle 连接就会导致错误。

最佳答案

我通过将 SCAPI.Application 对象创建为全局变量解决了这个问题。这导致 SCAPI 在数据库对象之前获得它需要的任何资源。我无法弄清楚为什么 SCAPI 和 Oracle/ODBC 程序集不能很好地相互配合。

关于vb.net - 创建 Oracle Connection 导致 COM 类检索出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715989/

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