fengdu126
fengdu126
> @fengdu126 > > 你好, 看上去像数据库没有初始化成功, 能麻烦把所有 docker 日志粘上来吗? 尤其是Postgres 初始化这部分(位于日志最前面)。 2022-11-25 08:48:18 2022-11-25 08:48:18 config init. 2022-11-25 08:48:18 2022-11-25 08:48:18 API_SERVER_PORT not defined, skip. 2022-11-25 08:48:18 2022-11-25 08:48:18 config...
我确实是安装了本地的pg,但是先停掉了再启动docker的,也会有影响吗,我试试最新版本的看下
> 只需要数据库有能访问的存储过程,不需要配置,按通用文档存储过程调用方式来调用。 还有问题就具体把参数和返回结果发出来,光几句话描述很难定位问题,大家也不想浪费时间来来回回一问一答地回复 好的,我已补上了截图及调用参数和错误截图,帮看看是什么原因,谢谢!
查了下后台生产的sql语句: 已生成 1 条 SQL execute startTime = 1703059140836 database = ; schema = ; sql = CALL "dbo".testproc(2,5) sqlserver数据库的话正确应该是: CALL "dbo".testproc 2,5 或者 execute "dbo".testproc 2,5 参数不能加括号,请问这个怎么改?
改成这样调用: { "@limit":2, "@offset":5, "@procedure()":"testproc @limit,@offset" } 又提示函数命名不规范,不能通过。
> 判断数据库为 SQL Server 时去掉括号 > > ```java > String s = (hasPrefix ? procedure.substring(ind + 1) : procedure); > if (isSQLServer()) { > s = s.substring(1, s.length() - 1);...
查了java通过jdbc驱动调用sqlserver存储过程的资料: https://www.cnblogs.com/dayday-study/archive/2012/05/09/2492651.html 如果带参数的话,好像还比较麻烦...
> APIJSON ORM 默认就是 ? 模板参数预编译调用,可以在 DemoSQLConfig 重写 isPrepared, return false 改成直接调用试试 改了也是沒用,大佬能否用sqlserver测试下解决这个问题,现在sqlserver也跨平台了,实际应用挺多的,很多复杂的查询或者业务需要调用存储过程来解决。
> Oracle, SQL Server, DB2 的分页 OFFSET 必须加 ORDER BY,默认是用 id,如果没有需要重写 getIdKey 返回对应主键名,或者前端传参 "@order":"key" // key / key+ / key- > > https://github.com/Tencent/APIJSON/blob/master/APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java#L1612-L1623 这个应该不是offset的主键id的问题,就是查询例子里面的Moment表,本来就是有主键id的。 "Moment": { "@column":"max(date):date" } 意思是查询最大日期。 这条json对应的sqlserver语句应该是:...
大概知道什么原因了,是限制行数导致查询出错。 建议能否完善下,如果包含聚合函数的查询,但又没有group的时候虽然是查全表但实际上永远只会回一行,这种情况就不要在后面加上 ORDER BY "id" OFFSET 0 ROWS FETCH FIRST 10 ROWS ONLY 来限制了。