2
这花了我的许多小时。我必须让这个.Net应用程序在XP系统上运行。似乎有人搞砸了一些文件,以便conn.Open()在C#导致此错误:连接错误:Oracle.DataAccess.Client.OracleException ORA-12170
Connection Error:Oracle.DataAccess.Client.OracleException ORA-12170:
TNS:Connect timeout occurred at Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection
conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure) at
Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn,
IntPtr opsErrCtx, Object src) at Oracle.DataAccess.Client.OracleConnection.Open() at
Service.connect(Int32 sql_choice, String databaseIdentifier, String authenticationKey) in
c:\Documents ....
这是我的sqlnet.ora文件:
# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.INBOUND_CONNECT_TIMEOUT = 180
SQLNET.SEND_TIMEOUT = 180
SQLNET.RECV_TIMEOUT = 180
这是tnsnames.ora中:
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLE2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dell)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oracle2)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dell)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
这是listener.ora中:
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dell )(PORT = 1521))
)
)
我尝试将主机名更改为localhost 127.0.0.1,但这不起作用。另外,
- 我可以从SQL Plus执行查询。
- 系统上没有防火墙
- .Net应用程序和数据库位于同一台计算机上。
您安装了哪个版本的ODP.NET?哪个版本?什么是你的应用程序的位版本? – 2014-02-16 11:04:17