私は次のような(簡略化された)OracleSQLを持っています:
declare
xd number;
xm number;
DataOut sys_refcursor;
begin
xd := to_number(to_char(sysdate, 'dd'));
xm := to_number(to_char(sysdate, 'mm'));
open DataOut for
select * from dual;
end;
そして、DataOutパラメーターで返されたデータから.NetのDataTableに入力できるようにしたいと思います。
いろいろ試してみましたが、DataOutカーソルにアクセスできないようです。これをどのように呼びますか?
OracleCommand c = new OracleCommand();
c.CommandType = CommandType.Text;
c.CommandText = SQL;
OracleParameter param = new OracleParameter();
param.Direction = ParameterDirection.Output;
param.OracleType = OracleType.Cursor;
param.ParameterName = "DataOut";
c.Parameters.Add(param);
c.Connection = (OracleConnection) this.GetConnection();
OracleString rowNum = "";
c.ExecuteOracleNonQuery(out rowNum);
// or c.ExecuteReader()
// or use OracleDataAdapter
DataTable returnTable = /* magic goes here */
SQLを編集できますが、関数やプロシージャを作成できません。これは可能ですか?