瀚高数据库,在执行原生sql查询时,报Method not found: 'Nhgdb.NhgdbDataReader 返回

SqlSugar 沟通中
7 1208
该叫什么 fory77 发布于2024/9/6
悬赏:0 飞吻
    public static void AddSqlsugarSetup(this IServiceCollection services, IConfiguration configuration, string dbName = "DB")
    {
        //如果多个数数据库传 List<ConnectionConfig>
        var configConnection = new ConnectionConfig()
        {
            DbType = SqlSugar.DbType.HG,
            ConnectionString =  configuration.GetConnectionString(dbName),
            IsAutoCloseConnection = true,
            MoreSettings= new ConnMoreSettings()
            {
                PgSqlIsAutoToLower = false,//增删查改支持驼峰表
                PgSqlIsAutoToLowerCodeFirst = false, // 建表建驼峰表。5.1.3.30 
            }
        
        };

        
        SqlSugarScope sqlSugar = new SqlSugarScope(configConnection,
            db =>
            {
                //单例参数配置,所有上下文生效
                db.Aop.OnLogExecuting = (sql, pars) =>
                {
                    Console.WriteLine(sql);//输出sql
                };
            });

        services.AddSingleton<ISqlSugarClient>(sqlSugar);//这边是SqlSugarScope用AddSingleton
    }
}

调用代码

  var list = _db.Ado.GetDataTable("select 1 as first,2 as second");

然后。。就不行报错 

MissingMethodException: Method not found: 'Nhgdb.NhgdbDataReader Nhgdb.NhgdbCommand.ExecuteReader()'.

nh_error.jpg


最扯的是,我打开ILSpy查看Nhgdb.dll是有这个函数的,Nhgdb.NhgdbCommand 类里的是有这个函数的

image.png

目前心态崩溃中,求各路大神救我狗命。。

热忱回答7

  • fory77 fory77 VIP0
    2024/9/6

    使用对象映射,可以获取数据。

    但是用sql语句,就是不行。实在无奈了。

    0 回复
  •   var list = _db.SqlQeruyable("select 1 as first,2 as second").ToDataTable();

     这样呢,不走ado方法

    0 回复
  • 一般找不到xx方法是安装问题,清空解决方案 安装一样版本的DLL,删掉以前发布的,重新发布

    0 回复
  • fory77 fory77 VIP0
    2024/9/7

    @fate sta:同理,很难受。toList可以,toDataTable不行。。但是我这边是处理一个框架问题。。toDataTable必须得用才行。。


    0 回复
  • devtest devtest VIP0
    2024/12/16

    解决了吗?我也遇到同样的问题(我使用了厂家的dll,因为数据库要sm3)

    0 回复
  • 我也遇到这个问题,跪求解决

    0 回复
  • fate sta fate sta VIP0
    2024/12/24

    @大山力压:更新 sqlsugarhg到 172

    0 回复