金蝶国产化中间件和人大金仓数据库
金蝶Apusic分布式消息队列
不需要配置用户名密码
rabbitmq:enable: truehost: 192.168.1.233port: 5672
<!-- Spring Boot RabbitMQ 依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>2.1.18.RELEASE</version></dependency>
3 代码配置,“vhost”虚拟机名称需要登录MQ界面新建
通过在 ADMQ 代理上引入 AMQP 协议处理程序,为 ADMQ 带来了原生的 AMQP 协议支持。
@Beanpublic ConnectionFactory connectionFactory(){CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host,port);connectionFactory.setVirtualHost("vhost");connectionFactory.setPublisherConfirms(true); //设置发送消息失败重试connectionFactory.setChannelCacheSize(100);//解决多线程发送消息return connectionFactory;}
Apusic内存数据缓存
redis:## Redis数据库索引(默认为0)database: 0## Redis服务器地址host: 192.168.1.9## Redis服务器连接端口port: 6359## Redis服务器连接密码(默认为空)ssl: false #启用SSL终端识别password: timeout: 5000msjedis:pool:## 连接池最大连接数(使用负值表示没有限制)max-active: 8## 连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1ms## 连接池中的最大空闲连接max-idle: 8## 连接池中的最小空闲连接min-idle:
依赖包,其实还是springboot-redis那套
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.7.2</version><exclusions><exclusion><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId>
</dependency>
执行LUA脚本问题,需要我们本地代码进行适配和改造
这个兼容性都比较差,需要反复测试
public static <T> T execute(StringRedisTemplate stringRedisTemplate,final RedisScript<T> script, final List<String> keys, final Object[] args) {return stringRedisTemplate.execute(new RedisCallback<T>() {@Overridepublic T doInRedis(RedisConnection connection) throws DataAccessException {Object nativeConnection = connection.getNativeConnection();// redis序列化key、value、lua脚本RedisSerializer keySerializer = stringRedisTemplate.getKeySerializer();RedisSerializer valueSerializer = stringRedisTemplate.getValueSerializer();RedisSerializer<String> stringSerializer = stringRedisTemplate.getStringSerializer();List<byte[]> keys_ByteArr = new ArrayList<byte[]>(keys.size());List<byte[]> args_ByteArr = new ArrayList<byte[]>(args.length);for (int i = 0; i < keys.size(); i++) {keys_ByteArr.add(keySerializer.serialize(keys.get(i)));}for (int j = 0; j < args.length; j++) {args_ByteArr.add(valueSerializer.serialize(args[j]));}byte[] scriptByte = stringSerializer.serialize(script.getScriptAsString());if (nativeConnection instanceof JedisCluster) {return (T) ((JedisCluster) nativeConnection).eval(scriptByte, keys_ByteArr, args_ByteArr);}// 单点else if (nativeConnection instanceof Jedis) {return (T) ((Jedis) nativeConnection).eval(scriptByte, keys_ByteArr, args_ByteArr);}// 单机模式return (T) ((Jedis) nativeConnection).eval(scriptByte, keys_ByteArr, args_ByteArr);}});}
人大金仓KingBaseES 数据库,底层其实是pgsql
<!--KingBase-->
<dependency><groupId>com.kingbase8</groupId><artifactId>kingbase8</artifactId><version>8.6.0</version>
</dependency>
手动下载驱动包,地址https://www.kingbase.com.cn/qd/index.htm
2 配置数据库地址, 需要注意脚本方言为: helperDialect: postgresql
############## 数据源
master:datasource:url: jdbc:kingbase8://192.168.1.9:54321/hoe_hospital?useUnicode=true&allowMultiQueries=true&characterEncoding=utf8&useSSL=falseusername: J7EUl2ZBPKM=password: Soxks8s/VLiHR9Jo0gssJg==driverClassName: com.kingbase8.DrivervalidationQuery: select 1testOnBorrow: truetestWhileIdle: true
## mappers 多个接口时逗号隔开
mapper:mappers: com.moan.hoe.base.config.mybatis.MyMappernot-empty: falseidentity: kingbase8
pagehelper:page-size-zero: truehelperDialect: postgresqlreasonable: truesupportMethodsArguments: trueparams: count=countSql
SQL语法问题,需要在业务中慢慢排查,关键字和内置函数都不太友好
1> 当mysql某个字段的类型为 tinyint时,且长度为1,迁移到金仓时,自动转换为 true 或 false;(需要讲tinyint改为2,才可以保持一样的数值,对应类型为Integer);
tbl_menu_element 修改 is_deleted 为boolean
tbl_menu 修改 is_disable 为boolean2> mysql FIELD()函数替换掉 decode()3> 数据库初始化大小写不区分,4> 别名不能加mysql自动生成斜单引号,中文别明不能加单引号;5> mysql的函数和存储过程无法直接兼容kingBaseES库6> mysql的group_concat函数 kingbaseEs——string_agg(expression,delimiter) 输入值连接成一个串,用定界符分隔7> 命名需要加 as 关键字;select name,或者t.name 关键字都不需要加`` 上单引号,否则报错 (2)传参数时,数据加是什么类型,参数就一定要相同,否则报错, boolean 不能写成"0"或者"1" 这种传参8> 实体类的自增主键问题,去掉 //@GeneratedValue(strategy = GenerationType.IDENTITY) 只需保留@ID注解,需要在插入的时候给ID主键赋值,去掉自增注解并未解决,需要升级mybaits-plus插件最新版本9> 自定义SQL函数或者存储过程都需要重写
要先创建模式,相当于创建数据库,跨库查询的话,一定把所有模式创建到主模式下,才可以进行跨库查询表,
登录web管理界面 , 新建源数据 ,需要配置参数的可以在后面加 如tinyntlisBit=false 可以区分boolean类型
主要是新建源 数据到目标数据,再创建一个任务,启动任务后去执行两边的数据对比和导入
服务器
操作系统是: 统信uos
金蝶国产化中间件和人大金仓数据库相关推荐
- 国产化适配之人大金仓数据库(一)安装启动测试
本文章主要介绍金仓数据的安装.启动.数据库连接测试. 前言 虽然主流数据库用的人多,但是在某些场合和环境必须要用国产的东西,包括数据库和中间件等,如果系统在开发之初用的是国外主流的东西,那么在使用国产 ...
- 国产化适配之人大金仓数据库(三)项目适配
本文是对使用springboot的项目适配进行配置.另外由于使用了额外的框架进行二次开发,所以数据库的配置文件写在了nacos上面. 适配前准备 1.找到数据库链接的jar包,jar包在数据库所在的目 ...
- 国产化适配之人大金仓数据库(二)数据迁移
本文介绍金仓数据库windows客户端自带的可视化界面数据迁移工具来迁移mysql的数据到金仓数据库. KingbaseDTS 数据库迁移工具 迁移前准备 因为不能使用默认的system用户,所以需要 ...
- 国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示
oracle12c数据库转人大金仓数据库实例演示 第一章:数据准备 ① 人大金仓建库建用户 ② 人大金仓授权表空间 ③ 人大金仓创建 schema 表 第二章:转库演示 ① 转库工具准备 ② 创建源库 ...
- 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)
人大金仓作为一款国产数据库,使用的人数和相关资料都比较少. 最近使用人大金仓数据库,做了个简单的SQL和java jdbc的测试,希望能够供大家参考. 1.SQL语句 创建表: CREATE TABL ...
- nacos 适配达梦、人大金仓数据库
文章目录 一.准备工作 1. 阅读官网文档 2. 下载源码,按官网更详细 3. 下载达梦.人大金仓数据库驱动 二.修改nacos源码 2.1. 引入驱动依赖 2.2. 引用数据库 2.3. 修改配置 ...
- jpa 人大金仓数据库方言_兼容认证 | 人大金仓数据库管理系统完成与浪潮产品兼容认证...
日前,人大金仓数据库管理系统KingbaseES V7.V8完成与浪潮GS Cloud数字化管理平台.iGIX数字化能力平台完成兼容认证. 测试结果显示:双方产品完全兼容,其功能.性能和兼容性等各方面 ...
- 人大金仓数据库安装与配置
安装包下载地址 访问人大金仓官网: 人大金仓数据库安装包下载 Licence授权文件下载 Licence授权文件下载 CentOS7.9人大金仓数据库部署 环境准备 1. 创建用户 useradd k ...
- 人大金仓数据库的使用心得
人大金仓作为一款国产数据库,为国争光确实做到了,但是国内使用的人数还是比较少的,能查到的相关资料比较少. 在此,我将最近使用人大金仓的一些心得总结一下,希望能够帮助到一些人: 1.人大金仓数据库的跨库 ...
最新文章
- ABAP久违的操作符
- 第五天学习Java的笔记(if,switch顺序结构)
- Python 标准库 urllib2 的使用细节
- 多家大厂接连停产,半导体“最后一里路”面临“瘫痪”?
- json解析对应的value为null_徒手撸一个JSON解析器
- 机器视觉用c还是python_机器视觉_opencv-python环境搭建
- 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
- jsp+servlet+jdbc实现对数据库的增删改查
- Jfinal启动原理及源码简析
- 《java编程思想》
- G - Power Strings
- iOS打包Framework
- 网络故障排查简单思路(思路见目录)
- [渝粤教育] 西安邮电大学 金融学A 参考 资料
- 关闭/删除“设备和驱动器”里的图标(如迅雷下载、WPS网盘)
- SPEC测试arm服务器性能,SPECJVM2008测试处理器性能_服务器评测与技术-中关村在线...
- 机器人彩铅画_高达机器人铅笔画图片
- linux系列(十):shell循环结构、for、while
- [Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误
- 少儿编程启蒙课程1:方格纸编程 揭秘算法