WinForm 使用人大金仓数据,调用存储过程异常。 返回

SqlSugar 处理完成
4 272
该叫什么 tcc 发布于2024/12/31
悬赏:0 飞吻

使用winform时,调用存储过程报错:External component has thrown an exception.

using System.Drawing;
using SqlSugar;
using SqlSugar.IOC;

namespace WinFormsToSqlSugar
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();


            SugarIocServices.AddSqlSugar(new IocConfig()
            {
                DbType = (IocDbType)SqlSugar.DbType.Kdbndp,
                ConnectionString = "Server=192.168.1.1;Port=54322;UID=system;PWD=123456;database=test;searchpath=UniIntegrationPlatform",
                IsAutoCloseConnection = true,
                //没有该属性
                //MoreSettings = new ConnMoreSettings()
                //{
                //    DatabaseModel = DbType.Oracle,
                //    IsAutoToUpper = false,
                //}
            });

            //配置参数
            SugarIocServices.ConfigurationSugar(db =>
            {
                db.Aop.OnLogExecuting = (sql, p) =>
                {
                    Console.WriteLine(sql);
                };
            });

        }

        private void button1_Click(object sender, EventArgs e)
        {
            //存储过程
            //CREATE OR REPLACE PROCEDURE UniIntegrationPlatform.Proc_web_searchitem_option(_JsonData jsonb, _OpCode varchar)
            //AS
            //    _OptionType varchar = JSON_VALUE(_JsonData, '$.optiontype');
            //begin
            //    SELECT 11 a,22 b,33 c
            //end;
            try
            {
                // 1. 获取数据  
                var procParams = new List<SugarParameter>()
                {
                    new SugarParameter("JsonData", "") { IsJson = true },
                    new SugarParameter("OpCode", "dev")
                };

                // 调用存储过程并获取数据集  
                var retData = DbScoped.SugarScope.Ado.UseStoredProcedure().GetDataTable("Proc_web_searchitem_option", procParams);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }     
        }
    }
}




热忱回答4

  • tcc tcc VIP0
    2024/12/31
    0 回复
  • fate sta fate sta VIP0
    2024/12/31

    数据库是什么模式?

    0 回复
  • tcc tcc VIP0
    2025/1/2

    @fate sta数据库是Oracle模式,但是SugarIocServices.AddSqlSugar没有MoreSettings配置。

    0 回复
  • tcc tcc VIP0
    2025/1/2

    已解决,参数名称没对上,漏掉下划线,导致找不到存储过程。

    0 回复