我需要在SQL server中执行一个存储过程来获取一些数据,而且由于以后我将将数据保存到ReactiveMongoTemplate中,而这个存储过程是使用R2DBC等的,所以我引入了Spring R2DBC。
implementation("org.springframework.data:spring-data-r2dbc:1.0.0.RELEASE")
implementation("io.r2dbc:r2dbc-mssql:0.8.1.RELEASE")我看到我可以用SELECT和INSERT等做R2DBC,但是EXEC prod_name可以吗?我试过了,它永远挂着,然后测试就结束了,没有成功,但都没有失败。日志的最后一行是:
io.r2dbc.mssql.QUERY - Executing query: EXEC "SCHEMA"."MY_PROCEDURE" 守则是这样的:
public Flux<Coupon> selectWithProcedure() {
return databaseClient
.execute("EXEC \"SCHEMA\".\"MY_PROCEDURE\" ")
.as(Coupon.class)
.fetch().all()
.doOnNext(coupon -> {
coupon.setCouponStatusRefFromId(coupon.getCouponStatusRefId());
});
}而且似乎没有检索到任何数据。
如果我用简单的查询(如SELECT... )测试其他一些方法,它就能工作。但问题是,DBA不允许我的应用程序读取表数据,而是为我创建一个过程。如果这个查询是不可能的,我必须采用传统的JPA方式,并在蒙古一方反应已经失去了它的意义。
发布于 2020-03-24 16:57:32
井。我刚看到这个:
https://github.com/r2dbc/r2dbc-mssql,0.8.1版:
下一步:
存储过程的
的支持
和:
https://r2dbc.io/2019/05/13/r2dbc-0-8-milestone-8-released
我们已经为下一个里程碑排好了几张票,我们知道它们需要进一步的修改:
对存储过程Auto-Commit
https://stackoverflow.com/questions/60834930
复制相似问题