C#에서 오라클 SYS_REFCURSOR 사용 방법


C#에서 SYS_REFCURSOR을 사용한 프로시저를 사용하려고 하는데 아래와 같은 에러가 나네요. 확인 부탁 드리겠습니다.

--소스

using System;
using System.Data;
using System.Windows.Forms;
using Oracle.DataAccess.Client;
//using System.Data.OracleClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string connStr = "Data Source=KRTSR ;User ID=sfaadmin;Password=Password1;";
            DataSet dataset = new DataSet();

            using (OracleConnection objConn = new OracleConnection(connStr))
            {
                OracleCommand objCmd = new OracleCommand();
                objCmd.Connection = objConn;
                objCmd.CommandText = "SP_OUT_CURSOR_EXAMPLE";
                objCmd.CommandType = CommandType.StoredProcedure;
                objCmd.Parameters.Add("V_PARAM", OracleDbType.Char).Value = "param2"; // Input id
                objCmd.Parameters.Add("V_OUT", OracleDbType.RefCursor).Direction = ParameterDirection.Output;

                try
                {
                    objConn.Open();
                    objCmd.ExecuteNonQuery();
                    OracleDataAdapter da = new OracleDataAdapter(objCmd);
                    da.Fill(dataset);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                objConn.Close();
            }

        }

        }
    }

--에러 메시지

이미지

  • 2016년 08월 26일에 수정됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.
  • 2016년 08월 25일에 작성됨

조회수 170


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close