alibaba / druid

阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池
https://github.com/alibaba/druid/wiki
Apache License 2.0
27.91k stars 8.57k forks source link

请问oracle转mysql的代码开放么? #4099

Open vaneu opened 3 years ago

vaneu commented 3 years ago

阿里云产品ADAM里有个SQL转换工具:

https://adam.console.aliyun.com/tools

请问这部分代码计划开放吗?

dafei1288 commented 3 years ago

SQLTransformUtils 里面有一些例子,可以参考。。。

其实我也有这方面的需求, 发mail给wenshao,但是没得到回复, 正在 自己 找出路呢。。。

如果,要求不高 , 其实 可以参考一下 OracleToMySqlOutputVisitor ,

我是 希望 能 在 AST 互转的。。。。 但是 ,感觉 工程量不小, 而且目前的 vistor的 API设计,满足不了这个需求。。。

dafei1288 commented 3 years ago

https://mp.weixin.qq.com/s?__biz=MzI3MDU3OTc1Nw==&mid=2247485169&idx=1&sn=291abcdc9ad90718d71c28d0653c92e3&chksm=eacfa7b3ddb82ea5968e7d6661075f63bd30d4c6ac262a49e314cde2eaeef0ce95ec86ac360c&token=1201800479&lang=zh_CN#rd

这里是我总结的 思路, 有兴趣 可以交流 。。。

vaneu commented 3 years ago

我目前就是用OracleToMySqlOutputVisitor来做的,很多功能实现起来太困难了。

dafei1288 commented 3 years ago

用 OracleToMySqlOutputVisitor 这个 肯定是 控制力不足的。。。 只能完成一些 简单的翻译。。。 能AST互转 肯定是最棒的。。。 但是 最近 思考了下, 问题 还是 挺多的。。。 应该不能直接转。。。 得抽象一套 中立的AST,把语法特性都包含过来才行 。。。

vaneu commented 3 years ago

是啊。你看看JOOQ的做法呢? https://www.jooq.org/doc/latest/manual/sql-building/sql-parser/sql-parser-grammar/ https://www.jooq.org/translate (运行demo,有墙) 他这个问题也很多。

dafei1288 commented 3 years ago

那个控制台,我用了下,感觉挺好的, 不过 jooq 这玩意,不是全开源的把, 应该是某些 方言 用不了, 我记得 是这样。。。 +v 聊不?我的名字 就是 ...

vaneu commented 3 years ago

那个控制台,我用了下,感觉挺好的, 不过 jooq 这玩意,不是全开源的把, 应该是某些 方言 用不了, 我记得 是这样。。。 +v 聊不?我的名字 就是 ...

加你了

raysonfang commented 3 years ago

我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持

xinuo commented 3 years ago

我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持

请问有演示的地址或者测试的样例吗?

raysonfang commented 3 years ago

我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持

请问有演示的地址或者测试的样例吗?

http://118.24.127.19:8089/sqlTranslator/ 这个是演示用的, 只做转换使用

xinuo commented 3 years ago

我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持

请问有演示的地址或者测试的样例吗?

http://118.24.127.19:8089/sqlTranslator/ 这个是演示用的, 只做转换使用

3Q.我们测试一下效果.

raysonfang commented 3 years ago

支持建表,存储过程,函数,还有select ,update, delete 语句转换。左边输入框是oracle语法, 右边是转换过后的mysql语法

------------------ 原始邮件 ------------------ 发件人: "xinuo"<notifications@github.com>; 发送时间: 2021年1月22日(星期五) 下午5:11 收件人: "alibaba/druid"<druid@noreply.github.com>; 抄送: "方雷"<793514387@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [alibaba/druid] 请问oracle转mysql的代码开放么? (#4099)

我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持

请问有演示的地址或者测试的样例吗?

http://118.24.127.19:8089/sqlTranslator/ 这个是演示用的, 只做转换使用

3Q.我们测试一下效果.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

dafei1288 commented 3 years ago

这个太牛叉了 ....

支持建表,存储过程,函数,还有select ,update, delete 语句转换。左边输入框是oracle语法, 右边是转换过后的mysql语法 ------------------ 原始邮件 ------------------ 发件人: "xinuo"<notifications@github.com>; 发送时间: 2021年1月22日(星期五) 下午5:11 收件人: "alibaba/druid"<druid@noreply.github.com>; 抄送: "方雷"<793514387@qq.com>; "Comment"<comment@noreply.github.com>; 主题: Re: [alibaba/druid] 请问oracle转mysql的代码开放么? (#4099) 我们也刚好基于oracle 转 mysql 的语法解析做了一个方案,但是能满足大部分的SQL场景, 一些特殊也只有通过代码去实现 或者写两套sql语法去支持 请问有演示的地址或者测试的样例吗? http://118.24.127.19:8089/sqlTranslator/ 这个是演示用的, 只做转换使用 3Q.我们测试一下效果. — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

yangmeng66 commented 2 years ago

大佬们, 你们还在坚持吗?@all 楼上