Admin.NET 达梦数据库问题 DM7

Admin.NET是基于Furion+SqlSugar框架的core webapi项目。

刚开始就报:Specified method is not supported. 需要把CreateDatabase注释

1、 SqlSugar(dbProvider.DbMaintenance.CreateDatabase())对部门国产数库不支持。需要手动创建。并且到Admin.NET.Core/SqlSugar/SqlSugarSetup.cs里。

把269行注册掉,不然会报错。
            //if (config.DbType != SqlSugar.DbType.Oracle)
                //dbProvider.DbMaintenance.CreateDatabase();//达梦步取消 手动建库


    打开达梦数据库DM管理工具,

        一、先新建表空间ADMINNET。

        二、新建用户ADMINNET,设置密码,(数据库连接串要用到),所属角色(我选择DBA),系统权限(我选择ALL,可以根据情况选择)

        三、新建模式 ,模式名和用户名最好一致,连接串里database不起作用,会自动找用户一样的数据库。

2、修改数据库连接串   在Admin.NET.Application/Configruation/Database.json里。

“DbType”:"Dm", 

"ConnectionString": "PORT=5236;HOST=localhost;PASSWORD=123;USER ID=ADMINNET;",

这里要注意会自动找User一样的模式,查了一下达梦连接串参数:有个schema可以改模式,我没有试,你们试了之后可以评论告知一下。

schema指定用户登录后的当前模式,默认为用户名的默认模式

改好这些之后,就可以直接编译运行了。

问题一:

不出意外的话,肯定会出意外,报错:SqlSugar DmException: 嵌套层次太深

应该是初始化数据批量执行的sql太多了。

解决办法:

找到DM安装目录 dmdbs/data/DAMENG/下的 dm.ini。使用记事本打开

查找 EXPR_N_LEVEL  

我把这相邻的三个都改大了。

EXPR_N_LEVEL =  500   #Maximum nesting levels for expression 表达式的最大嵌套级别

N_PARSE_LEVEL =  500   #Maximum nesting levels for parsing object 解析对象的最大嵌套级别

MAX_SQL_LEVEL  =  1000 #Maximum nesting levels of VM stack frame for sql

sql的虚拟机堆栈框架的最大嵌套级别

保存就可以了。记得重新启动 达梦数据库服务。

问题二:

在刚开始运行还是报错:ADMINNET没有用户权限。记不清了,但是后来我打断点调试,一步一步走就好了。也成功在ADMINNET模式里生成表了。很奇怪。

多说一句,成功之后,我们就可以在Admin.NET.Core/Entity下添加自己的表了。继承EntityBase里面有 主键和公共字段 。

重新运行就可以自动生成到数据库了。

Admin.NET.Core/Service下添加接口服务。 /Test/SysTestService.cs

并继承 :IDynamicApiController, ITransient 会自动生成api 这就是Furion相关的东西。

详细教程请看: 让 .NET 开发更简单,更通用,更流行。 Furion | Furion

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值