人大金昌netcore适配,调用oracle模式下存储过程\包,返回参数游标

cs 复制代码
 using KdbndpConnection conn = new KdbndpConnection("Host=192.168.133.221;Port=54321;Database=db1;Pooling=true;User ID=system;Password=123");
 conn.Open();
 //存储过程调用也是类似
 using var cmd = conn.CreateCommand();
 cmd.CommandText = "模式.包名称.存储过程名称";
 cmd.CommandType = CommandType.StoredProcedure;
 //参数1是普通入参
 var p1 = cmd.CreateParameter();
 p1.ParameterName = "p1";
 p1.Direction = ParameterDirection.Input;
 p1.Value = "123";
 cmd.Parameters.Add(p1);
 //参数2是一个select结果的游标
 var p2 = cmd.CreateParameter();
 p2.ParameterName = "Resultlist";
 p2.Direction = ParameterDirection.Output;
 p2.KdbndpDbType = KdbndpTypes.KdbndpDbType.Refcursor;
 cmd.Parameters.Add(p2);

 //执行
 cmd.ExecuteNonQuery();

 //游标数据获取
 var curName = p2.Value;
 cmd.CommandText = $"fetch all in \"{curName}\"";
 cmd.CommandType = CommandType.Text;
 //生成dt
 DataTable dt = new DataTable();
 using var adp = new KdbndpDataAdapter(cmd);
 adp.Fill(dt);

官网下载的包有问题,使用这个包就ok

https://download.csdn.net/download/pehao/89077002

相关推荐
dfdfadffa1 小时前
如何用模块化方案组织一个可扩展的前端组件库项目
jvm·数据库·python
2301_812539672 小时前
SQL中如何高效实现分组数据的批量更新_利用窗口函数与JOIN
jvm·数据库·python
2501_901200532 小时前
如何实现SQL存储过程存储过程参数标准化_统一命名规范
jvm·数据库·python
运气好好的2 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
念何架构之路3 小时前
MySql常见ORM
数据库·mysql
xcLeigh3 小时前
KES数据库安全、权限、审计实战
数据库·安全·备份·权限·审计·ssl加密·密码策略
zjy277773 小时前
c++如何实现日志文件的异步落盘功能_基于无锁队列方案【附代码】
jvm·数据库·python
河阿里3 小时前
SQL:深分页问题深度解析
数据库·sql
wang3zc4 小时前
JavaScript中函数声明位置对解析器预编译的影响
jvm·数据库·python
涤生大数据4 小时前
AI时代,SQL该何去何从?
数据库·人工智能·sql