gpt4 book ai didi

vb.net - oracle连接打开错误

转载 作者:行者123 更新时间:2023-12-04 08:55:16 25 4
gpt4 key购买 nike

我使用 QTP/UFT 进行应用程序测试。
我必须访问我的 oracle DB (11g) 来进行一些 DB 设置(更新记录)。

我用 oracle.manageddataaccess.dll (引用 myDBWrapper 类库项目)。

我有以下 dll

(myDBWrapper 是我创建的 - 存在问题的地方)

enter image description here

我的连接字符串:

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<HOST>)(PORT=<PORT>>)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=<SERVICENAME>)));User Id=<USERNAME>;Password=<PASSWORD>;

问题:

以下代码在 conn.open()抛出错误。它有时会起作用,有时会在同一台机器中抛出“对象引用不设置对象实例”的错误。
conn = New OracleConnection()
conn.ConnectionString = ConnectionString
MsgBox("isnothing? : " & (conn Is Nothing).ToString) 'it is always False. So , not null

conn.Open() ' It throws an error that "Object reference not to set an instance of an object"

Dim cmd As OracleCommand = New OracleCommand(strQuery)
cmd.BindByName = True
cmd.Connection = conn
RowsAffected = cmd.ExecuteNonQuery()
cmd.Dispose()
conn.Dispose()

笔记:

这不是资源泄漏。我只是建立 1 个连接并处理。没有其他人连接到数据库。

问题发生 - 当 QTP 具有 COM 库时。当我使用它来自动化并使其不可见时( QTP.Visible = FALSE )。如果我使用 QTP.Visible = TRUE - 问题不会发生。这是什么问题!!!

堆栈跟踪 :
Object reference not set to an instance of an object.
at OracleInternal.I18N.Conv.GetMaxBytesPerChar(Int32 charsetId)
at OracleInternal.ServiceObjects.OracleConnectionImpl.Connect(ConnectionString cs, Boolean bOpenEndUserSession)
at OracleInternal.ConnectionPool.PoolManager`3.CreateNewPR(Int32 reqCount, Boolean bForPoolPopulation, ConnectionString csWithDiffOrNewPwd)
at OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd)
at OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword)
at OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword)
at Oracle.ManagedDataAccess.Client.OracleConnection.Open()
at myDBWrapper.Utility.DBUtil.OpenConnection()

最佳答案

因为它看起来像 VB.NET 你有没有在表单加载中得到这些代码?如果您不显示表单,则该事件是不可预测的。

关于vb.net - oracle连接打开错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28647739/

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