![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
信创
文章平均质量分 93
专注于探讨国产数据库对接过程中的问题,并提供相关的技术和经验分享。
沉下心来学鲁班
擅长设计高性能、可扩展、结构优良的软件,并致力于在编程领域宏扬工匠精神。
展开
-
记一次达梦主备切换的问题调试过程
客户侧要求支持中间件sqlproxy支持达梦数据库的主备切换,但这个主备切换功能在开发版本上并不支持,它是商业版才有的功能,为此只能详细研究文档说明,以珍惜成本高昂的试错机会。至此,此问题最终用修改驱动的方式得到解决,基本思想是将连接类的错误都交给dataase/sql包里的连接池来处理,它内部会进行自动重试,这样上层应用不需要关心连接相关的异常。调试这类问题的难点可能就在于:驱动层的逻辑不是掌控在我们手里,包括驱动层的实现逻辑是否存在问题,我们也不得而知,我们能做的只是按照达梦的文档来不停的试参数。原创 2024-08-08 12:43:14 · 939 阅读 · 0 评论 -
达梦DB重启后sql连接池无法自动响应
从这个代码可以看出,mysql驱动每次从连接池新拿出一个连接时,都会进行有效性检测,当检测到连接不可用时,会打印连接错误信息并将错误转换为driver.ErrBadConn返回。上面代码可以说明,连接池已经提供了完备的机制来处理连接错误,从连接池中取出的连接如果失效时会自动重试,必要时会直接创建新的连接,来保证sql请求不会因为连接失效而响应失败。sqlproxy使用的是database/sql中自带的连接池,达梦数据库重启了之后,sqlproxy中的连接池无法响应任何SQL,都报了如下错误。原创 2024-05-17 01:20:00 · 1055 阅读 · 0 评论 -
达梦SQL语法兼容笔记
对于通过MySQL兼容模式来支持反引号这个功能,只有在8.1.3.37之后的版本中才支持,之前的版本只能去掉或者通过双引号原创 2023-11-09 09:19:16 · 978 阅读 · 0 评论 -
如何用中间件实现信创DB的适配?
手动修改所有服务的代码去适配另一个数据库,不太现实,后期维护也是一个问题,于是就想能不能找一个统一的地方来处理这个适配工作。原创 2023-10-22 21:17:56 · 1221 阅读 · 0 评论 -
信创DB中间件设计原理
DML语句的适配也可以简单分为两类问题:简单用字符串替换能解决的手动修改所有服务的代码去适配另一个数据库,不太现实,后期维护也是一个问题,于是就想能不能找一个统一的地方来处理这个适配工作。原创 2023-08-26 21:43:08 · 475 阅读 · 0 评论 -
一款用于信创数据库对接的中间件
sqlproxy是一个基于kingshard二次开发的用于信创数据库对接的中间件项目,致力于简化异构数据库的对接工作,目标是让现有基于MySQL的项目无缝迁移到其它类SQL型数据库,例如:Oracle、达梦。sqlproxy的主要工作是在中间件上对不同DB的语法和协议作转换,以便现有业务项目不改动或尽量少改动,使用原来的MySQL语法和驱动就能操作另一个信创数据库。原创 2023-08-26 21:19:40 · 2760 阅读 · 1 评论