Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

何时能支持多种类型的数据库?如:Oracle、PostgreSQL、DB2等 #2328

Closed
yinxiaoling opened this issue Jan 20, 2020 · 86 comments
Closed
Assignees
Labels

Comments

@yinxiaoling
Copy link

何时能支持多种类型的数据库?

如:Oracle、PostgreSQL、DB2等

@paderlol
Copy link
Collaborator

目前我在做这个工作了

@yinxiaoling
Copy link
Author

目前我在做这个工作了

太好了,太厉害了,能否加入一起做这个工作呢,我们也想做开源共建工作,我们还想集成一下国产数据库,因为目前国内国产化的趋势太厉害了,我们的平台微服务架构使用了Nacos为核心的,数据库导致我们国产化进程很失败。如果能一起的话就好了,我们一起来完善这个事情。

@yinxiaoling
Copy link
Author

目前我在做这个工作了

方便的话留一下钉钉联系方式

@slive
Copy link

slive commented Jan 22, 2020

同样关注这个问题
大概什么时候能支持呀?

@ghost
Copy link

ghost commented Feb 27, 2020

目前我在做这个工作了

能说下大概什么时候上线这个功能吗?

@asog
Copy link

asog commented Mar 12, 2020

目前我在做这个工作了

很想知道什么时候能上线,升级框架考虑nacos但是数据库限制必须oracle。

@wanchenqi
Copy link

请问现在数据库支持sqlserver吗?

@chuntaojun
Copy link
Collaborator

#2434

@chuntaojun
Copy link
Collaborator

#534

@chuntaojun
Copy link
Collaborator

#237

@paderlol
Copy link
Collaborator

下个月中会出一个版本试用吧

@chuntaojun
Copy link
Collaborator

#2862

@chuntaojun
Copy link
Collaborator

#2910

@EnjoywithSunshine
Copy link

@paderlol 这个月都快过去了,不是说这个月中出个试用版吗? 大概还要多久?!

@paderlol
Copy link
Collaborator

@EnjoywithSunshine 目前已经在测试了 预计是这个小版本或者下个小版本 具体负责贡献的是这个小伙伴@ZShUn

@paderlol paderlol self-assigned this Jun 30, 2020
@ZShUn
Copy link
Contributor

ZShUn commented Jun 30, 2020

@EnjoywithSunshine 不好意思,目前由于个人工作原因导致进度比较缓慢,目前整个项目sql已经翻译完成。后续的代码cv和BUG修改,我尽量赶上来,请见谅

@chuawei
Copy link

chuawei commented Aug 4, 2020

多数据库支持,还在继续么?

@tony-zz
Copy link

tony-zz commented Aug 27, 2020

pgsql 什么时候上?

@EnjoywithSunshine
Copy link

@paderlol 从7月到9月,更新了beta版本,更新了正式版,依然看不到多数据源这块配置
@ZShUn 不是说sql翻译好了吗?bug和cv要花那么多时间?两个月的时间还没搞定?那就分块上,别一口吃个胖子,比如先上一个oracle的,这样我就不来催更!

@horizonzy
Copy link
Collaborator

@ZShUn 比较忙的话我可以帮忙协助开发以及测试

@ZShUn
Copy link
Contributor

ZShUn commented Sep 4, 2020

我下周日提一版

@ZShUn
Copy link
Contributor

ZShUn commented Sep 4, 2020

@horizonzy 感谢大佬帮忙

@a434950303
Copy link

持续关注 ,oracle 真的急需

@a434950303
Copy link

我下周日提一版

大佬 出来了吗?

@alonelaval
Copy link

alonelaval commented Apr 28, 2021

已适配达梦,人大金仓。https://github.com/alonelaval/nacos/blob/dm-1.4.1/console/src/main/resources/application.properties
下载地址:https://github.com/alonelaval/nacos/releases/tag/dm-1.4.1

@liubinylx
Copy link

我在做 postgresql 的版本啦,后续会持续更新哒,目前我已经用上了

  1. 博文请参考:https://tudan.blog.csdn.net/article/details/113400766
  2. github:https://github.com/tudan110/nacos

都是在给自己仓库打广告的。。。

@liubinylx
Copy link

已适配达梦,人大金仓。https://github.com/alonelaval/nacos/blob/dm-1.4.1/console/src/main/resources/application.properties

给自己打广告倒是很熟练

@alonelaval
Copy link

已适配达梦,人大金仓。https://github.com/alonelaval/nacos/blob/dm-1.4.1/console/src/main/resources/application.properties

给自己打广告倒是很熟练

你这话有点搞笑。我找了上面的所有的链接,没有一个可以用的。只好我自己来,我弄好了,把包也发出来了,这叫打广告?自己心里面阴暗,以为别人跟你一样阴暗?

@wuwen5
Copy link
Contributor

wuwen5 commented May 28, 2021

尝试一种无需改造nacos项目采用sql替换的方式支持oracle,可以保持nacos的版本演进, 未来官方支持后也可以直接拿掉.

  • 将包放入nacos-server.jar同级目录

  • 修改start.sh

    JAVA_OPT="${JAVA_OPT} -javaagent:${BASE_DIR}/target/ojdbc-mysql2oracle-1.0.0-SNAPSHOT.jar -jar ${BASE_DIR}/target/${SERVER}.jar"

https://github.com/wuwen5/ojdbc-mysql2oracle

@li24361
Copy link

li24361 commented Jun 21, 2021

尝试一种无需改造nacos项目采用sql替换的方式支持oracle,可以保持nacos的版本演进, 未来官方支持后也可以直接拿掉.

  • 将包放入nacos-server.jar同级目录
  • 修改start.sh
    JAVA_OPT="${JAVA_OPT} -javaagent:${BASE_DIR}/target/ojdbc-mysql2oracle-1.0.0-SNAPSHOT.jar -jar ${BASE_DIR}/target/${SERVER}.jar"

https://github.com/wuwen5/ojdbc-mysql2oracle

能详细说明下吗?直接通过agent替换吗

@wuwen5
Copy link
Contributor

wuwen5 commented Jul 2, 2021

尝试一种无需改造nacos项目采用sql替换的方式支持oracle,可以保持nacos的版本演进, 未来官方支持后也可以直接拿掉.

  • 将包放入nacos-server.jar同级目录
  • 修改start.sh
    JAVA_OPT="${JAVA_OPT} -javaagent:${BASE_DIR}/target/ojdbc-mysql2oracle-1.0.0-SNAPSHOT.jar -jar ${BASE_DIR}/target/${SERVER}.jar"

https://github.com/wuwen5/ojdbc-mysql2oracle

能详细说明下吗?直接通过agent替换吗

@li24361 是的,不过agent仅仅只是替换驱动类,因为驱动类硬编码没有支持配置(如果驱动类支持外部配置,可以不用agent,只需将包放入classpath路径中),本项目主要实现是基于驱动包装做的sql拦截和替换,sql语法解析使用的JSqlParser, 本项目目的是不去修改原工程的基础上支持oracle(可以尝试支持其他库的语法),在官方没有发布支持多数据库版本之前,我们修改源代码重新打包编译的方式未来bugfix的版本跟进会比较麻烦.
btw 目前已在nacos、xxl-job项目中使用

@loca1h0sts
Copy link

现在的分支版本是可用的嘛? 我clone下来启动报错

Description:

Field usersRepository in com.alibaba.nacos.config.server.auth.ExternalUserPersistServiceImpl required a bean of type 'com.alibaba.nacos.config.server.modules.repository.UsersRepository' that could not be found.

The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'com.alibaba.nacos.config.server.modules.repository.UsersRepository' in your configuration.

兄弟,你解决了吗?

@ccwxl
Copy link
Contributor

ccwxl commented Sep 30, 2021

尝试一种无需改造nacos项目采用sql替换的方式支持oracle,可以保持nacos的版本演进, 未来官方支持后也可以直接拿掉.

  • 将包放入nacos-server.jar同级目录
  • 修改start.sh
    JAVA_OPT="${JAVA_OPT} -javaagent:${BASE_DIR}/target/ojdbc-mysql2oracle-1.0.0-SNAPSHOT.jar -jar ${BASE_DIR}/target/${SERVER}.jar"

https://github.com/wuwen5/ojdbc-mysql2oracle

能详细说明下吗?直接通过agent替换吗

@li24361 是的,不过agent仅仅只是替换驱动类,因为驱动类硬编码没有支持配置(如果驱动类支持外部配置,可以不用agent,只需将包放入classpath路径中),本项目主要实现是基于驱动包装做的sql拦截和替换,sql语法解析使用的JSqlParser, 本项目目的是不去修改原工程的基础上支持oracle(可以尝试支持其他库的语法),在官方没有发布支持多数据库版本之前,我们修改源代码重新打包编译的方式未来bugfix的版本跟进会比较麻烦. btw 目前已在nacos、xxl-job项目中使用

btw 目前已在nacos、xxl-job项目中使用 会开源吗? 哈哈哈哈哈

@bianjp
Copy link

bianjp commented Jan 18, 2022

#4941 合并到 feature_multiple_datasource_support 分支后很久没动静了,这项工作停止了?

@littleJK-sys
Copy link

littleJK-sys commented Jan 18, 2022 via email

@llsydn
Copy link

llsydn commented Mar 1, 2022

现在的分支版本是可用的嘛? 我clone下来启动报错

Description:

Field usersRepository in com.alibaba.nacos.config.server.auth.ExternalUserPersistServiceImpl required a bean of type 'com.alibaba.nacos.config.server.modules.repository.UsersRepository' that could not be found.

The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:

Consider defining a bean of type 'com.alibaba.nacos.config.server.modules.repository.UsersRepository' in your configuration.

你这个错, 是没有指定数据源导致的. 你配置下数据源, 就不会出现这个错了. 底层用的是jpa, 需要初始化数据源, 才可以实例化UsersRepository接口.

nacos.datasource.type=MYSQL

nacos.datasource.relational.dsList[0].url=jdbc:mysql://127.0.0.1:3306/nacos?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
nacos.datasource.relational.dsList[0].username=root
nacos.datasource.relational.dsList[0].password=root
nacos.datasource.relational.dsList[0].driver-class-name=com.mysql.jdbc.Driver
nacos.datasource.relational.dsList[0].hikari.connection-timeout=10000
nacos.datasource.relational.dsList[0].hikari.idle-timeout=120000
nacos.datasource.relational.dsList[0].hikari.max-lifetime=240000
nacos.datasource.relational.dsList[0].hikari.maximum-pool-size=20
nacos.datasource.relational.dsList[0].hikari.data-source-properties.cachePrepStmts=true
nacos.datasource.relational.dsList[0].hikari.data-source-properties.prepStmtCacheSize=250
nacos.datasource.relational.dsList[0].hikari.data-source-properties.prepStmtCacheSqlLimit=2048
nacos.datasource.relational.dsList[0].hikari.connection-test-query=SELECT 1 FROM dual

@littleJK-sys
Copy link

littleJK-sys commented Mar 1, 2022 via email

@ccwxl
Copy link
Contributor

ccwxl commented May 27, 2022

@littleJK-sys
Copy link

littleJK-sys commented May 27, 2022 via email

@idelin
Copy link

idelin commented Aug 11, 2022

所以官方还在推进这个工作吗,已经过去2年了

@littleJK-sys
Copy link

littleJK-sys commented Aug 11, 2022 via email

@zoujiaqing
Copy link

哈哈哈,这效率。。

@littleJK-sys
Copy link

littleJK-sys commented Nov 21, 2022 via email

@tony-zz
Copy link

tony-zz commented Dec 13, 2022

邮件已收到,请放心我会尽快查看
每天要开心幸福哦!

@littleJK-sys
Copy link

littleJK-sys commented Dec 13, 2022 via email

@cloorc
Copy link

cloorc commented Dec 29, 2022

目前我在做这个工作了

I've submitted a pull request to add postgres support, please have a look at #9760 #9761

@littleJK-sys
Copy link

littleJK-sys commented Dec 29, 2022 via email

@KomachiSion
Copy link
Collaborator

#8803

@littleJK-sys
Copy link

littleJK-sys commented Apr 20, 2023 via email

@dylan-tao
Copy link

目前我这边已经开源支持postgresql的nacos-2.2.0版本(已投产),可以直接食用:https://github.com/dylan-tao/nacos-gaussdb

@littleJK-sys
Copy link

littleJK-sys commented Nov 9, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests