C# 破译ODP.net触发的堆栈跟踪错误?
我正在使用ODP.net连接到Oracle架构,并不断触发以下错误跟踪:C# 破译ODP.net触发的堆栈跟踪错误?,c#,oracle,odp.net,C#,Oracle,Odp.net,我正在使用ODP.net连接到Oracle架构,并不断触发以下错误跟踪: ORA-6413: Connection not open. at Oracle.DataAccess.Client.OracleException.HandleErrorHelper( Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String pro
ORA-6413: Connection not open.
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()
我完全无法解释为什么我正在使用的应用程序无法建立连接。我对Oracle特定错误代码的理解是有限的,因此非常感谢能够分享的任何见解
我已经通过登录SQL+plus测试了登录凭据和TNS设置,这些都是正确的
我使用的连接字符串格式是:
user id=[userid];
password=[password];
data source=//[machine ID]:[port]/[service name]
我正在使用OracleDataAccess.dll的10.2.0.100版本
我可以为任何敢于尝试解决这个问题的人提供更多信息。任何意见都是非常感谢的-我已经对这个问题困惑太久了 根据您的错误消息:“ORA-6413:连接未打开”。很可能您的代码只是忽略了打开数据库连接 您的代码应该如下所示:
using(OracleConnection _dbConnection = /*...setup connection object here...*/)
{
_dbConnection.Open();
var cmd = _dbConnection.CreateCommand();
cmd.CommandText="some sql here";
cmd.ExecuteReader();
//... do "stuff" and then close your reader and connection...
}
我希望这就是问题所在-p调用.Open()函数将触发该错误。