オラクルDBをC#からセレクトする際に、
指定されたキャストは有効ではありません。とエラーが出ています。
アドバイス欲しいです。よろしくお願いします。
c#
1 public DataTable executeSql(String query) 2 { 3 using (var con = new OracleConnection()) 4 { 5 con.ConnectionString = "Data Source=localhost;User Id=test;Password=test;"; 6 con.Open(); 7 8 // データ取得 9 OracleCommand cmd = new OracleCommand(query, con); 10 OracleDataAdapter da = new OracleDataAdapter(cmd); 11 DataTable set = new DataTable(); 12 try 13 { 14 da.Fill(set); 15 } 16 catch (Exception e) 17 { 18 log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 19 logger.Fatal("Fatal_shosai:" + e.Message); 20 } 21 // 接続を閉じる 22 con.Close(); 23 return set; 24 } 25 }
DBの構成は以下です。
oracle
1SQL> describe testNumberCalc; 2 名前 NULL? 型 3 ----------------------------------------- -------- --------------------------- 4 ID1 NUMBER(11,2) 5 ID2 NUMBER(11,2) 6 7select * from testNumberCalc; 8 9 ID1 ID2 10---------- ---------- 11 1292 1211 12 1293 1212
ここに、
"select ((id1 - id2) / id1 * 100) as ARARI from testNumberCalc
を叩くとキャストのエラーが出てしまい、
正しいキャストを教示頂ければ幸いです。
エラーがでる際には、エラーメッセージを載せるとよいかと。
回答2件
あなたの回答
tips
プレビュー