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