C#通过OleDb查询Oracle存储过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#通过OleDb查询Oracle存储过程相关的知识,希望对你有一定的参考价值。

using System;
using System.Data;
using System.Data.OleDb;

  

        /// <summary>
        /// 通过OleDb查询Oracle存储过程
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static DataTable getTodoList(string id)
        {
            string connString1 = "provider=OraOLEDB.Oracle.1;User ID=test;Password=test;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)));Persist Security Info=True;Extended Properties=‘PLSQLRSet=1‘;";//‘PLSQLRSet=1‘很重要

            DataSet ds = new DataSet();
            DataTable dt = new DataTable();
            OleDbConnection conn = new OleDbConnection(connString1);
            OleDbCommand cmd = new OleDbCommand("getTodoList", conn);
            cmd.CommandType = CommandType.StoredProcedure;

            try
            {
                conn.Open();

                OleDbParameter[] parms = {
                                         new OleDbParameter("id1", OleDbType  .VarChar)
                                     };
                parms[0].Value = id;
                parms[0].Direction = ParameterDirection.Input;
                foreach (OleDbParameter parm in parms)
                {
                    cmd.Parameters.Add(parm);
                }

                OleDbDataAdapter oda = new OleDbDataAdapter(cmd);

                oda.Fill(ds);

            }
            catch (Exception ex)
            {

            }
            finally
            {
                cmd.Dispose();
                conn.Close();
            }

            return ds.Tables[0];
        }

  

以上是关于C#通过OleDb查询Oracle存储过程的主要内容,如果未能解决你的问题,请参考以下文章

使用 OleDB 列出所有存储过程和查询时出现不明确的外部连接错误

C# OleDb OUT 参数在调用 oracle 过程时失败

通过 DB2OLEDB 执行存储过程时收到 -379 的 SQLCode

在 VB.NET 中使用 OleDb.NET 调用 Access 2010 存储选择查询的异常

使用 C# 代码处理 Oracle 存储过程的输出参数

Winforms (C#) 中的 OleDb 参数查询:没有错误但没有更新行