Выполнение читателя кидает ошибку
Привет,
У меня есть две базы данных smart04 и smart02, я могу успешно подключить smartt02 db, но ошибка smart02 вызывает ошибку в строке execute reader. но я вижу, что связь находится в открытом состоянии.
Кто-нибудь, пожалуйста, помогите мне это исправить.
Ошибка:StackTrace = " в OracleInternal.Сервисные объекты.OracleConnectionImpl.VerifyExecution(Int32& cursorId, Boolean bThrowArrayBindRelatedErrors,
SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException& exceptionForArrayBindDML, Boolean& hasMoreRowsInDB, Boolean bFirstIterationDone)\r\n
в OracleInternal.Сервисные объекты.OracleCommandImpl.
Метода executereader(строку запроса, OracleParameterCollection paramColl, свойство commandtype значение commandtype, OracleConnectionImpl connectionImpl,
OracleDataReaderImpl&амп; rdrImpl, longFetchSize типа int32, int64 значение типа clientInitialLOBFS, OracleDependencyImpl orclDependencyImpl, типа int64[] scnForExecution,
Типа int64[]&ампер; scnFromExecution, OracleParameterCollection&амп; bindByPositionParamColl, логическое и amp; bBindParamPresent, типа int64&амп; internalInitialLOBFS,
OracleException&амп; exceptionForArrayBindDML, объекта oracleconnection связи OracleLogicalTransaction&амп; oracleLogicalTransaction,
IEnumerable`1 adrianParsedStmt, Boolean isDescribeOnly, Boolean isFromEF)\r\n
в Oracle.ManagedDataAccess.Клиент.OracleCommand.Метода executereader(логическое обновление, логическое fillRequest, метода commandbehavior поведения)\р\н
в Oracle.ManagedDataAccess.Клиент.OracleCommand.ExecuteReader()\r\n
Что я уже пробовал:
SQLHelper conn = new SQLHelper(); OracleConnection con = conn.GetConnectionString(dbname); OracleCommand cmd = new OracleCommand(); cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "XYZ"; cmd.Connection = con; con.Open(); // cmd.ExecuteNonQuery(); ConnectionState state = con.State; if (state == ConnectionState.Open) { var j = cmd.ExecuteReader(); //cmd.ExecuteNonQuery(); string i = cmd.Parameters["val"].Value.ToString(); } con.Close();
<add name="smart02" connectionstring="Data Source= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.5.46)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = smart02) ));user id=xxxx;password=yyyy;" providername="System.Data.OracleClient"> <add name="smart04" connectionstring="Data Source= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.5.46)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = smart04) ));user id=xxxx;password=yyyy;" providername="System.Data.OracleClient">
Richard Deeming
Вы вставили трассировку стека, но удалили фактические сведения об ошибке.
Нажмите на зеленую ссылку "улучшить вопрос" и обновите свой вопрос, чтобы включить полную информацию об исключении.
Garth J Lancaster
Также было бы удобно, если бы вы опубликовали определение хранимой процедуры, если она достаточно "мала"