Выполнить ошибку выброса Reader при подключении к БД - PullRequest
0 голосов
/ 10 июля 2020

У меня две базы данных smart04 и smart02, я могу успешно подключить smartt02 db, но ошибка smart02 вызывает ошибку в строке выполнения. но я вижу, что соединение открыто.

Кто-нибудь, пожалуйста, помогите мне исправить это.

Ошибка

StackTrace = "в OracleInternal.ServiceObjects.OracleConnectionImpl .VerifyExecution (Int32 & CursorID, булевы bThrowArrayBindRelatedErrors, SqlStatementType sqlStatementType, Int32 arrayBindCount, OracleException & exceptionForArrayBindDML, булевы & hasMoreRowsInDB, булева bFirstIterationDone) \ г \ п на OracleInternal.ServiceObjects.OracleCommandImpl. ExecuteReader (String CommandText, OracleParameterCollection paramColl, CommandType CommandType, OracleConnectionImpl connectionImpl, OracleDataReaderImpl & rdrImpl, Int32 longFetchSize, Int64 clientInitialLOBFS, OracleDependencyImpl илиclDependencyImpl, Int64 [] scnForExecution, Int64 [] и scnFromExecution, OracleParameterCollection & bindByPositionParamCollaction, OracleParameterCollection & obindByPositionParamCollaction, IntrasentialConnect и внутреннее исключение ogicalTransaction, IEnumerable`1 adrianParsedStmt, Boolean isDescribeOnly, Boolean isFromEF) \ r \ n в Oracle .ManagedDataAccess.Client.OracleCommand.ExecuteReader (логический запрос, логический запрос, Boolean fillRequest, CommandBehavior, поведение 10 *. Client.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">
...