Java 通过将Postgres与基于jOOQ的服务相结合,对SQL Server进行透明模拟

Java 通过将Postgres与基于jOOQ的服务相结合,对SQL Server进行透明模拟,java,postgresql,tsql,jooq,Java,Postgresql,Tsql,Jooq,在我看来,jOOQ能够在不同的DB引擎之间传输查询。我们有一个很大的服务生态系统,它依赖于MSSQL(很难一次性迁移),我想做一个实验,看看是否有可能用Postgres+jOOQ取代MSSQL 问题: 什么是最小的编程转换示例,从T-SQL查询字符串开始,到pgSQL查询字符串结束?我很难找到这方面的文档。从jOOQ 3.11(目前已发布)和3.12(将于2019年第三季度初发布)起,翻译人员还没有完全准备好进行方言之间的全自动翻译。它可以翻译大量简单的SQL,但我们仍在处理大量积压的边缘案例。

在我看来,jOOQ能够在不同的DB引擎之间传输查询。我们有一个很大的服务生态系统,它依赖于MSSQL(很难一次性迁移),我想做一个实验,看看是否有可能用Postgres+jOOQ取代MSSQL

问题:

什么是最小的编程转换示例,从T-SQL查询字符串开始,到pgSQL查询字符串结束?我很难找到这方面的文档。

从jOOQ 3.11(目前已发布)和3.12(将于2019年第三季度初发布)起,翻译人员还没有完全准备好进行方言之间的全自动翻译。它可以翻译大量简单的SQL,但我们仍在处理大量积压的边缘案例。您的反馈将非常有价值:

关于你的具体问题:

1) 是否有任何示例项目可以让我看一下,它们使用jOOQ作为纯粹的翻译工具,而不是让它定义模式

可能还没有,因为该产品还没有准备好生产

2) 如果不是,那么最简单的例子是什么,从T-SQL查询字符串开始,到pgSQL查询字符串结束?我很难找到这方面的文档

目前,我们建议您将T-SQL查询转换为JOOQAPI用法。您可以继续使用SQL Server,直到完成查询迁移,然后“只是”切换到PostgreSQL。许多用户已经非常成功地应用了这种方法。好处是您可以立即从jOOQ的动态SQL查询构建功能中获益

如果您想使用实验性的翻译支持,可以使用or,它充当“真正”JDBC驱动程序的代理。同样,在当前阶段,这是实验性的,还没有为自动化迁移做好生产准备


但是,使用网站或支持API(例如),您可以半自动完成此迁移,我敢肯定,您60%以上的查询已经可以进行翻译。

感谢您的回复!问题是,我们的服务几乎完全基于Node.js。通过
将您的T-SQL查询转换为jOOQ API用法
我想您的意思是将其作为一个库来逐个迁移查询,这可能不太适合我们的情况。@MichelMüller:是的,那么它就不适合了。不幸的是,我们还没有JavaScript/TypeScript API。但是你仍然可以像网站一样使用
ParserCLI
来帮助你手动迁移。啊,我明白了。是的,那可能行得通——我会试试看。非常感谢。