【问题标题】:Can not connect with Oracle Database无法连接 Oracle 数据库
【发布时间】:2014-11-28 15:38:06
【问题描述】:

我使用的是 Windows 7 32 位机器。现在,当我尝试从 .net 应用程序连接远程服务器上的 oracle 时,我遇到了以下异常。可能是什么问题?早些时候这个应用程序运行良好。但是在格式化系统后我得到了这个异常。

请立即提供帮助。

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at System.Data.Common.UnsafeNativeMethods.OCIEnvCreate(IntPtr& envhpp, MODE mode, IntPtr ctxp, IntPtr malocfp, IntPtr ralocfp, IntPtr mfreefp, UInt32 xtramemsz, IntPtr usrmempp)
   at System.Data.OracleClient.TracedNativeMethods.OCIEnvCreate(IntPtr& envhpp, MODE mode)
   at System.Data.OracleClient.OciHandle..ctor(OciHandle parentHandle, HTYPE handleType, MODE ocimode, HANDLEFLAG handleflags)
   at System.Data.OracleClient.OracleInternalConnection.OpenOnLocalTransaction(String userName, String password, String serverName, Boolean integratedSecurity, Boolean unicode, Boolean omitOracleConnectionName)
   at System.Data.OracleClient.OracleInternalConnection..ctor(OracleConnectionString connectionOptions)
   at System.Data.OracleClient.OracleConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.OracleClient.OracleConnection.Open()
   at ArvindADMS.Program.UpdateLogRecord(DateTime dt, String attTime, String empNo, String action, String deviceId, Int32 checkinoutid)

【问题讨论】:

  • 你应该换一个proider,微软的proider已经被弃用很久了:Oracle and ADO.NET

标签: c# .net database oracle


【解决方案1】:

您可能使用了错误的提供程序。很久以前在MSDN about same exception上讨论过

因此将提供程序更改为 OLE DB 或使用 Attunity for Oracle 的 Microsoft Connector for SSIS

【讨论】:

    猜你喜欢
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2013-10-03
    • 2020-02-12
    • 2016-08-29
    • 2021-08-07
    • 2022-07-13
    相关资源
    最近更新 更多