当我的应用程序试图建立数据库连接时:
_conn = new OracleConnection(_connString);
_conn.Open();这是我正在犯的错误:
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:
# 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:
# 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以下是配置文件中的连接字符串:
<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连接数据库。
有人有什么建议吗?为什么我的神谕连接失败了?它以前是起作用的,我只是不知道我改变了什么让它失败了。
发布于 2015-08-06 16:07:08
谢谢你,弗兰,你的建议。没有得到我的团队的许可来尝试实现管理的解决方案。相反,只要在一个新的虚拟机上重新安装oracle就可以了。
https://stackoverflow.com/questions/31706690
复制相似问题