C# 调用Oracle 存储过程返回数据集 实例
1. 在oracle 下创建表
t_user(
ID varchar(20),
Name varchar(20)
)
2. 添加数据
'1' , '张三'
'2' , '李四'
3. 创建包并且定义变量和声明存储过程
CREATE OR REPLACE PACKAGE pkg_user AS
--定义返回值(游标类型)
TYPE myrctype IS REF CURSOR;
--定义查询过程
PROCEDURE sp_userlist (cur_result OUT myrctype);
END pkg_user;
4.创建存储过程 sp_userlist
CREATE OR REPLACE PACKAGE BODY "PKG_USER" AS
--查询过程
PROCEDURE sp_userlist(cur_result OUT myrctype)
IS
sqlstr VARCHAR2 (500);
BEGIN
OPEN cur_result FOR
select * from t_user ;
END sp_userlist ;
END pkg_user;
5. C# 中就可以调用这个存储过程了.
在Oracle helper 中添加
public static void RunSql(string SqlString, CommandType cmdType, out DataTable dt)
{
OracleCommand cmd = CreateSqlCommand(SqlString, cmdType);
OracleDataAdapter da;
&n
相关文档:
动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int L ......
Welcome to Microsoft Developer Support, Languages team blog! You will find a lot of language related troubleshooting resources here.
Troubleshooting PInvoke Related Issues
I am back with some more PInvoke Stuff. Recently I was working on a PInvoke issue which I found interesting ......
一直没有玩过通过命令在DOS下执行oracle数据库,虽然搞开发2年了,或许这篇文章写得比较肤浅.但或许对哪些刚刚学ORACLE的朋友还是有一定帮助的.
通过命令能够很好的执行大批量数据脚本'脚本.sql'.避免通过PLSQL Developer执行批量数据造成的死机情况.
二 ......
对于刚接触unix的人而言,利用管道将各种命令组合在一起来实现某个功能,是比较难适应的一件事情,下面,我就用一个具体的例子,详细讲下着里面的用法和思路.看看到底我们把命令都绑在一起,unix都做了什么.
就用一个oracle管理中,可能会遇到的例子吧,如果oracle挂了, ......
在实际的数据库应用中,我们经常遇到这样一个问题,连接到Oracle数据库的用户在作了一次操作后,再也没有后续操作,但却长时间没有和数据库断开连接。对于一个小型的应用系统来讲,本身的连接数目就有限,这好像没有什么严重的后果,但如果对于一个大型的数据库应用。如税务、工商等,如果数据库的连接数目很多,对于数据库 ......