首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle.DataAccess.Client.OracleException发生

Oracle.DataAccess.Client.OracleException发生
EN

Stack Overflow用户
提问于 2015-07-29 16:58:23
回答 1查看 593关注 0票数 0

当我的应用程序试图建立数据库连接时:

代码语言:javascript
复制
            _conn = new OracleConnection(_connString);
            _conn.Open();

这是我正在犯的错误:

代码语言:javascript
复制
Oracle.DataAccess.Client.OracleException occurred
  HResult=-2147467259
  Message=""
  ErrorCode=-2147467259
  StackTrace:
       at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck, Int32 isRecoverable)
       at Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, Object src)
       at Oracle.DataAccess.Client.OracleConnection.Open()
       at MyCorp.Middleware.Common.DataAccess.OracleDataAccess.OpenConnection() in C:\DevProjects\MyCorp\Solutions\MyApp\trunk\Middleware\Common\DataAccess\OracleDataAccess.cs:line 46
InnerException: 

这是我的tnsnames.ora:

代码语言:javascript
复制
# tnsnames.ora Network Configuration File:     E:\app\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
  (SID = CLRExtProc)
  (PRESENTATION = RO)
  )
)

ORCL =
  (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = orcl.sub.mydomain.com)
  )
)

以下是listener.ora:

代码语言:javascript
复制
# listener.ora Network Configuration File: E:\app\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = CLRExtProc)
    (ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
)

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
)

ADR_BASE_LISTENER = E:\app\oracle

以下是配置文件中的连接字符串:

代码语言:javascript
复制
  <add name="ConnectionString"
         connectionString="Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(CONNECT_DATA = (SID = orcl)));User Id=testuser;Password=testpwd;"
         providerName="OracleODP-11-2.0" />

我可以使用命令行上的sqlplus连接数据库。

有人有什么建议吗?为什么我的神谕连接失败了?它以前是起作用的,我只是不知道我改变了什么让它失败了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-06 16:07:08

谢谢你,弗兰,你的建议。没有得到我的团队的许可来尝试实现管理的解决方案。相反,只要在一个新的虚拟机上重新安装oracle就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31706690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档