我想用我的C#应用程序连接到远程Oracle数据库,但是当涉及到oracleconnection.open()将其与OracleConnection.Open()AccessViolationException当尝试连接到Oracle数据库
退出AccessViolationException未处理 - 试图读取或写入受保护的内存。这通常表示其他内存已损坏
我的连接字符串为key="oracleconnectionstring" value="Data Source=XYZ; password=mypassword; User ID=myuserid"
,位于app.config文件中。
在tnsnames.ora是
XYZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HostName)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XYZ)
)
)
如果我尝试通过SQL开发人员把它连接没有任何问题,如果我尝试sqlplus中它只是崩溃(在SQL * Plus已停止工作),如果我尝试连接VS它给了我那个奇怪的错误。
它可能是什么?
编辑:如果我尝试tnsping xyz
返回OK(100ms);
请发布您正在使用的代码连接 - 您使用的是哪个oracle连接库 - 您尝试了什么? – Wjdavis5
我正在使用Oracle.DataAccess版本4.112.2.0 Runtime v4.0.30319;代码从配置文件获取连接字符串,然后执行: 'oracleconnection = new OracleConnection(oracleconnectionstring); oracleconncetion.Open();' – Nedo2490
当我在调试中分析connectionstring时,它似乎从配置中获得正确的元素; – Nedo2490