I am facing an strange issue in asp.net mvc website that is connected with oracle database and deployed on IIS. When I am adding a new field in oracle database table (without changing anything in existing table structure), asp.net website running on IIS throwing exception in the method that is retrieving data from that table.
I am simply adding a new field in oracle database table using Oracle SQL Developer. I can understand that table schema is getting changed in this way, but not able to understand how does its effecting on existing sql query results. I tried to do same-thing in SQL Server database, but it works perfectly fine.
Below is the code that is displaying data from oracle database. Getting exception at line having code "sda.Fill(dt);"
using Oracle.ManagedDataAccess.Client;
OracleConnection Ocon = null;
string oradb = System.Configuration.ConfigurationManager.ConnectionStrings["OracleDBConnStr"].ConnectionString;
Ocon = new Oracle.ManagedDataAccess.Client.OracleConnection(oradb);
string str = "select * from TABLE_NAME where TRIM(STATUS)!=1 and TRIM(STATUS)!=2";
OracleDataAdapter sda = new OracleDataAdapter(str, Ocon);
DataTable dt = new DataTable();
sda.Fill(dt);
Server Error in '/' Application.
Index was outside the bounds of the array.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.<br>
Exception Details: System.IndexOutOfRangeException: Index was outside the bounds of the array.<br>
Source Error: <br>
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.<br>
Stack Trace: <br>
[IndexOutOfRangeException: Index was outside the bounds of the array.]
Oracle.ManagedDataAccess.Client.OracleDataReader.GetMinSchemaTable() +3066
Oracle.ManagedDataAccess.Client.OracleDataReader.set_IsFillReader(Boolean value) +102
Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +376
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +141
TradingAutomationUI.Controllers.OtherAccountTransactionController.getbankTransectionCustom(String Query, String searchPerm) +255
TradingAutomationUI.Controllers.OtherAccountTransactionController.CustomEntriesView(Nullable`1 id) +347
lambda_method(Closure , ControllerBase , Object[] ) +145
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39
System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +77
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +72
System.Web.Mvc.Async.<>c__DisplayClass48.<InvokeActionMethodFilterAsynchronouslyRecursive>b__41() +387
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38
System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +43
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +602
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +195
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +128<br>
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.3282.0