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

相关推荐
高铭杰1 小时前
mysql主备配置(对比postgresql)
数据库·mysql·replication
~~李木子~~6 小时前
MySQL 迁移总结报告
数据库·mysql
有梦想的攻城狮7 小时前
通过Lettuce实现PB3格式对象在Redis中的存储与查询
数据库·redis·缓存·pb3
桦07 小时前
MySQL【函数】
数据库·mysql
⑩-8 小时前
Redis(1)
数据库·redis·缓存
2301_803554528 小时前
主从同步配置的步骤
数据库
无敌最俊朗@8 小时前
00-7天攻破sqlite数据库(总览sqlite)
数据库·sqlite
Access开发易登软件8 小时前
Access导出带图表的 HTML 报表:技术实现详解
数据库·后端·html·vba·导出·access
_Minato_9 小时前
数据库知识整理——SQL数据定义
数据库·sql·mysql·oracle·database·数据库开发·数据库架构
程序员卷卷狗9 小时前
MySQL 四种隔离级别:从脏读到幻读的全过程
数据库·mysql