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];
        }

  

时间: 2024-10-14 07:27:42

C#通过OleDb查询Oracle存储过程的相关文章

SQL命令查询Oracle存储过程信息(代码内容等)

SELECT * FROM ALL_SOURCE  where TYPE='PROCEDURE'  AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内容与0997500模糊匹配的类型为PROCEDURE(存储过程)的信息. 根据GROUP BY TYPE 该ALL_SOURCE中只有以下5种类型1 FUNCTION2 JAVA SOURCE3 PACKAGE4 PACKAGE BODY5 PROCEDURE

Oracle存储过程根据传入参数查询

Oracle存储过程中根据传入参数查询时无效 环境:Oracle11g 需求:根据传入的参数作为条件,查询相关数据 问题:条件无效 代码: create or replace procedure XXX(associatedId in varchar,typeinfoid in varchar) as sheetcontent clob; begin select wm_concat(t.datasource) into sheetcontent from xly_associatedorder

oracle存储过程实例

oracle存储过程实例 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的.和PL/SQL程序相比,存储过程有非常多长处,详细归纳例如以下: * 存储过程和函数以命名的数据库对象形式存储于数据库其中.存储在数据库中的长处是非

oracle 存储过程详细介绍(创建,删除存储过程,参数传递等)

这篇文章主要介绍了oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包等相关资料,需要的朋友可以参考下 oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的.和PL/SQL程序相比,存储

springMVC + oracle存储过程 构建高性能灵活易维护的java web架构

MVC让简单的业务也变得复杂 不知道你在使用MVC模式开发项目的时候是否觉得很麻烦,一个简单的增删改查动作却要涉及到多个文件操作. 以一条数据增加为例说明. 假设我们使用hibernate并且dao层是已经封装好的 从图中可以看出如果我们在系统中写一个增加功能需要自己动手写的地方至少是 jsp , action , service,servicesImpl 四层. 如果是复杂的添加操作那么我们很可能还会自己定义dao层的接口和方法,那样就是6层操作了. 如果使用mybatis 至少也是写4层,常

jdbc调用 oracle 存储过程操作

创建有参存储函数findEmpNameAndSal(编号),查询7902号员工的的姓名和月薪,[返回多个值,演示out的用法]当返回2个或多个值,必须使用out符号当返回1个值,就无需out符号 create or replace function findEmpNameAndSal(pempno in number,pename out varchar2) return numberas psal emp.sal%type;begin select ename,sal into pename,

面试概率极大的Oracle存储过程

1.什么是存储过程.存储过程是数据库服务器端的一段程序,它有两种类型.一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户.另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作.有的服务器允许同一个存储过程既可以返回数据又可以执行动作.2.什么时候需要用存储过程 如果服务器定义了存储过程,应当根据需要决定是否要用存储过程.存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的.在服务器上执行存储过程,可以改善应用程序的性能.这

Oracle存储过程的编写经验与优化措施

1.开发人员如果用到其他库的Table或View,务必在当前库中建立View来实现跨库操作,最好不要直接使用"databsevv.dbo.table_name",因为sp_depends不能显示出该SP所使用的跨库table或view,不方便校验. 2.开发人员在提交SP前,必须已经使用set showplan on分析过查询计划,做过自身的查询优化检查. 3.高程序运行效率,优化应用程序,在SP编写过程中应该注意以下几点: a) SQL的使用规范: i. 尽量避免大事务操作,慎用ho

C#调用 Oracle 存储过程样例代码

-- 建表CREATE TABLE sale_report (     sale_date DATE NOT NULL ,     sale_item VARCHAR(2) NOT NULL ,      sale_money DECIMAL(10,2) NOT NULL,      PRIMARY KEY(sale_date, sale_item)); -- 測试数据DECLAREv_begin_day DATE;v_end_day DATE;BEGIN v_begin_day := TO_D