我正在开发一个桌面应用程序。我们的桌面应用程序也支持Oracle DB。
为了连接到oracle DB,我们使用Microsoft oledb provider for Oracle。在我连接到Oracle 12c之前,它工作得很好。
现在,当我们使用Oracle18C或更高版本时,我的应用程序在打开连接时崩溃。
请看下面的代码片段:
Dim dtb As ADODB.Connection
Dim conn As String
conn = "Provider=MSDAORA;" & "Data Source=INRT" & ";Password=abc@908" &
";User ID=system"
dtb.open(conn, "system", "abc@908",
ADODB.ConnectOptionEnum.adAsyncConnect)在这里,它抛出一个错误:“试图读取或写入受保护的内存。这通常表示其他内存已损坏。”然后坠毁。
注意:使用Oracle19c客户端(32位),我可以使用上述详细信息设置连接。
请帮我解决这个问题。
发布于 2020-10-13 21:40:44
异常信息:异常类型: AccessViolationException异常消息:尝试读取或写入受保护的内存。这通常表示其他内存已损坏。
MSDAORA已弃用,请将Provider=MSDAORA更改为下面
标准安全性
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Oracle Trusted Connection此连接指定在连接到Oracle数据库时要使用的OS身份验证。
Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;https://stackoverflow.com/questions/57703649
复制相似问题