Slickflow.NET 开源工作流引擎基础介绍(四) -- 多数据库支持实现
2024-09-11 01:53:38
前言:引擎作为中间件集成到用户的项目里面去,针对用户的数据库类型,需要作出SQL部分的分别实现。引擎默认数据库为MS SQLSERVER,同时也支持ORACLE, MYSQL, KINGBASE等不同类型的数据库。
1. Dapper对于多数据库实现的支持--SqlDialect
下图给出了Dapper项目中ISqlDialect接口的具体实现类。
2. Slickflow.NET 针对不同数据库的特性实现
在各个数据库特性SQL的写法上,比如SQLSERVER中的TOP语句,对应到其它数据库就不同,需要分别实现。所以引擎创建了DataProvider项目,针对这些特征,来分别实现具体场景的SQL。
3. SQL解析器
兼容多数据库的解析器之前考虑过,是个不错的方向,但是工作量也不小,不同数据库的各种特性都要考虑,缺乏一个统一的实现。而引擎大部分都是标准SQL,只是除了TOP的写法之外,个别的特殊就分别实现一下。但是也非常希望有一个统一的SQL解析器,会是一个非常实用的工具。
4. 总结
通过Dapper和Slickflow的DataProvider,用来实现多数据库的支持,完全可以满足客户不同类型的数据库部署。而且针对开发人员来说,SQL语句始终透明,可以进行编写或者后期优化。
最新文章
- Express 4 handlebars 不使用layout写法
- ZBrush中的头部模型该如何进行雕刻
- 字典dictionary
- LK光流算法:提高计算精度和增加搜索范围
- VPS centos 6 安装图形界面
- mysql 连接多行 合并多行
- 清理300多台MySQL数据库的过期binlog日志
- 瑕疵(bug)严重性定义
- python gzip 压缩文件
- NSURLConnection基本使用
- 对于反射中的invoke()方法的理解
- haproxy内存管理-free_list原理
- 51nod_1264:线段相交(计算几何)
- Insert Sort Singly List
- 51nod1172 Partial Sums V2
- django rest framework renderer
- 将对象转成 json 以及 将字符串 hash(SHA1) 加密
- Visual studio中编译和使用libpng和zlib
- Hadoop2.7.4 在 Windows 10(64位) 详细配置
- Tomcat7并发和线程数