人大金昌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

相关推荐
2601_9620652517 分钟前
2.启动mysql容器
java·数据库·mysql
2601_962174171 小时前
Spring 核心技术解析【纯干货版】- XI:Spring 数据访问模块 Spring-Oxm 模块精讲
数据库·python·spring
HanhahnaH2 小时前
垂直分库和水平分库分别解决了什么问题
数据库
吠品2 小时前
SQL Server 版本查询的几种实用方法
数据库·网络协议·ssl
Omics Pro2 小时前
整合多组学分析+生物医学发现!对话式多智能体AI
数据库·人工智能·mysql·机器学习·自然语言处理
严同学正在努力2 小时前
Oracle Data Guard 容灾实战:从搭建到切换,一篇讲透
数据库·ai·oracle
oradh2 小时前
Oracle CTAS+rename 表重建方法操作总结
数据库·oracle·ctas·oracle表重建方法
Dovis(誓平步青云)2 小时前
同一条路线在手机和平板上怎样换一种排版
android·开发语言·数据库·智能手机·音视频
czhc11400756632 小时前
EF Core 数据访问三件套:池化 · 仓储 · 不跟踪
数据库
whcyhhh2 小时前
头歌实践教学平台:大数据存储2023(十三1)
大数据·数据库·python