甲骨文调用存储过程从C#? [英] Calling Oracle stored procedure from C#?

查看:229
本文介绍了甲骨文调用存储过程从C#?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚开始阅读有关存储过程。任何人都可以请帮我从C#调用存储过程在Oracle?

I just started reading about stored procedures. Can anyone please help me call a stored procedure in oracle from C#?

推荐答案

请访问本网站的潜能成立了由甲骨文微软OracleClient的开发者: <一href="http://www.oracle.com/technetwork/topics/dotnet/index-085703.html">http://www.oracle.com/technetwork/topics/dotnet/index-085703.html

Please visit this ODP site set up by oracle for Microsoft OracleClient Developers: http://www.oracle.com/technetwork/topics/dotnet/index-085703.html

另外下面是一个简单的code,可以让你开始称从C#存储过程到Oracle。 PKG_COLLECTION.CSP_COLLECTION_HDR_SELECT是建立在甲骨文接受参数PUNIT,POFFICE,preCEIPT_NBR并返回结果T_CURSOR。

Also below is a sample code that can get you started to call a stored procedure from C# to Oracle. PKG_COLLECTION.CSP_COLLECTION_HDR_SELECT is the stored procedure built on Oracle accepting parameters PUNIT, POFFICE, PRECEIPT_NBR and returning the result in T_CURSOR.

using Oracle.DataAccess;
using Oracle.DataAccess.Client;

public DataTable GetHeader_BySproc(string unit, string office, string receiptno)
            {
                using (OracleConnection cn = new OracleConnection(DatabaseHelper.GetConnectionString()))
                {
                    OracleDataAdapter da = new OracleDataAdapter();
                    OracleCommand cmd = new OracleCommand();
                    cmd.Connection = cn;
                    cmd.InitialLONGFetchSize = 1000;
                    cmd.CommandText = DatabaseHelper.GetDBOwner() + "PKG_COLLECTION.CSP_COLLECTION_HDR_SELECT";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("PUNIT", OracleDbType.Char).Value = unit;
                    cmd.Parameters.Add("POFFICE", OracleDbType.Char).Value = office;
                    cmd.Parameters.Add("PRECEIPT_NBR", OracleDbType.Int32).Value = receiptno;
                    cmd.Parameters.Add("T_CURSOR", OracleDbType.RefCursor).Direction = ParameterDirection.Output;

                    da.SelectCommand = cmd;
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    return dt;
                }
            }

这篇关于甲骨文调用存储过程从C#?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆