例外資訊System.InvalidCastException: Specified cast is not valid.
at Oracle.ManagedDataAccess.Client.OracleDataReader.GetDecimal(Int32 i)
at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i)
at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValues(Object[] values)
at System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
at System.Data.ProviderBase.SchemaMapping.LoadDataRow()
at System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at Oracle.ManagedDataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
代碼如下:
try
{
sql = sql.Replace("P_start", (index * number+1).ToString()).Replace("Pend", ((index+1) * number).ToString());
OpenConn();
LogHelper.Write(string.Format("ExcuteSelectSql== {0} ", sql));
System.Data.DataSet ds = new DataSet();
OracleDataAdapter Ada = new OracleDataAdapter(sql, conn);
Ada.AcceptChangesDuringFill = true;
Ada.AcceptChangesDuringUpdate = true;
if (tableName == "") tableName = "oracle_data";
Ada.Fill(ds, tableName);
LogHelper.Write(string.Format("ExcuteSelectSql==table Name :{0},rows: {1} ", tableName, ds.Tables[0].Rows.Count));
CloseConn(conn);
return ds.Tables[0];
}
catch (Exception ex)
{
LogHelper.Write("ExcuteSelectSql:" + ex.ToString());
CloseConn(conn);
return null;
}
并不是所有的sql 都報錯,,,有寫sql 執行正常,但是所有的sql 在plsql中執行正常
uj5u.com熱心網友回復:
System.InvalidCastException: Specified cast is not valid.這個不是ORACLE 報的錯,應該是 java 拋出來的例外。
uj5u.com熱心網友回復:
但是我只是想把查詢結果回傳一個table,,并沒有想轉換資料格式..現在報錯貌似是轉換格式了uj5u.com熱心網友回復:
而我只是要讓他把結果回傳到一個datatableuj5u.com熱心網友回復:
System.InvalidCastException: Specified cast is not valid.這個是你C#代碼的問題,不是Oracle的問題。
仔細檢查下你的代碼,應該是型別轉換出現問題。
uj5u.com熱心網友回復:
資料有空值,或不符合你規則的資料造成的,轉換前做好校驗uj5u.com熱心網友回復:
你直接把處理好的SQL輸出到日志中,然后復制出來執行看看,C#代碼 有問題!uj5u.com熱心網友回復:
[quote=參考 4 樓 qq646748739 的回復System.InvalidCastException: Specified cast is not valid.
這個是你C#代碼的問題,不是Oracle的問題。
仔細檢查下你的代碼,應該是型別轉換出現問題。
原因我已經說了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/77956.html
標籤:開發
上一篇:安裝oracle11g的時候顯示Oracle Net Configuration Assistant 失敗,手動配置netca也失敗,急
下一篇:SQLDBMON
