zoukankan      html  css  js  c++  java
  • C#调用oracle存储过程 最简单的实例

    Oracle方面
      1.创建Oracle过程存储
      create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)
      as
       varparam varchar2(28);
      begin
       varparam:=paramin;
       paramout:=varparam|| paraminout;
      end;
      2.测试过程存储
      declare
       param_out varchar2(28);
       param_inout varchar2(28);
      begin
       param_inout:='ff';
       proce_test('dd',param_out,param_inout);
       dbms_output.put_line(param_out);
      end;
      C#方面
      引用Oracle组件
      using System;
      using System.Data;
      using System.Data.OracleClient;
      namespace WebApplication4
      {
       public class OraOprater
       {
       private OracleConnection conn=null;
       private OracleCommand cmd=null;
       public OraOprater()
       {
       string mConn="data source=ora9i.ora.com;user id=ora;password=ora"; //连接数据库
       conn=new OracleConnection(mConn);
       try
       {
       conn.Open();
       cmd=new OracleCommand();
       cmd.Connection=conn;
       }
       catch(Exception e)
       {
       throw e;
       }
       }
       public string SpExeFor(string m_A,string m_B)
       {
       //存储过程的参数声明
       OracleParameter[] parameters={
       new OracleParameter("paramin",OracleType.VarChar,20),
       new OracleParameter("paramout",OracleType.VarChar,20),
       new OracleParameter("paraminout",OracleType.VarChar,20)
       };
       parameters[0].Value=m_A;
       parameters[2].Value=m_B;
       parameters[0].Direction=ParameterDirection.Input;
       parameters[1].Direction=ParameterDirection.Output;
       parameters[2].Direction=ParameterDirection.InputOutput;
       try
       {
       RunProcedure("proce_test",parameters);
       return parameters[1].Value.ToString();
       }
       catch(Exception e)
       {
       throw e;
       }
       }
       private void RunProcedure(string storedProcName,OracleParameter[] parameters)
       {
       cmd.CommandText=storedProcName;//声明存储过程名
       cmd.CommandType=CommandType.StoredProcedure;
       foreach(OracleParameter parameter in parameters)
       {
       cmd.Parameters.Add(parameter);
       }
       cmd.ExecuteNonQuery();//执行存储过程
       }
       }
      }
      测试结果:ddff
  • 相关阅读:
    Apache Pig使用MongoLoader产生大量空文件问题
    执行sparksql出现OOM问题
    [TD笔记]Teradata XML
    Redhat上离线/非root安装python库
    Java 多线程同步关键字synchronized各种用法/特性 总结
    CVE-2019-0708 微软远程桌面服务远程代码执行漏洞分析之补丁分析
    Spring Security 实战(使用Spring Boot项目演示)
    一些渗透中,或者扫描的nmap nse脚本推荐
    kali学习笔记(一):虚拟机安装好kali后应进行的配置
    Spring boot相关问题
  • 原文地址:https://www.cnblogs.com/tohen/p/1584956.html
Copyright © 2011-2022 走看看