当前位置: 首页 > news >正文

Datax数据同步支持SqlServer 主键自增

允许写入的SQL

SET IDENTITY_INSERT table_name ON;-- 插入数据,指定主键值
INSERT INTO table_name (id, column1, column2, ...)
VALUES (new_id_value, value1, value2, ...);SET IDENTITY_INSERT table_name OFF;

写入插件处理

核心类:com.alibaba.datax.plugin.rdbms.writer.CommonRdbmsWriter

protected void doBatchInsert(Connection connection, List<Record> buffer)throws SQLException {PreparedStatement preparedStatement = null;Statement statementIdentify = null;try {statementIdentify = connection.createStatement();statementIdentify.execute(String.format("SET IDENTITY_INSERT %s ON", table));connection.setAutoCommit(false);preparedStatement = connection.prepareStatement(this.writeRecordSql);for (Record record : buffer) {preparedStatement = fillPreparedStatement(preparedStatement, record);preparedStatement.addBatch();}preparedStatement.executeBatch();connection.commit();} catch (SQLException e) {LOG.warn("回滚此次写入, 采用每次写入一行方式提交. 因为:" + e.getMessage());connection.rollback();doOneInsert(connection, buffer);} catch (Exception e) {throw DataXException.asDataXException(DBUtilErrorCode.WRITE_DATA_ERROR, e);} finally {if (null != statementIdentify) {statementIdentify.execute(String.format("SET IDENTITY_INSERT %s OFF", table));try {statementIdentify.close();} catch (SQLException unused) {}}DBUtil.closeDBResources(preparedStatement, null);}
}

http://www.lryc.cn/news/186229.html

相关文章:

  • C++开发学习笔记3
  • 计算机中常说的SDK是什么意思?
  • 漏刻有时数据可视化大屏(16)数据指标KPI和柱图折线图混排
  • 基于Stable Diffusion的图像合成数据集
  • 云计算:常用运维软件工具
  • 多测师肖sir_高级金牌讲师_python的安装002
  • gin实现event stream
  • pytorch中transform库中常用的函数有哪些及其用法?
  • 抖音手机实景无人直播间怎么搭建?
  • 【新书推荐】当 Python 遇到 ChatGPT —— 自动化办公落地
  • RSA攻击:Smooth攻击
  • 什么是位域和位段?如何定义和使用位域?
  • 网络攻防备课笔记
  • Apache Solr9.3 快速上手
  • 按关键字搜索淘宝商品API接口获取商品销量、优惠价、商品标题等参数示例
  • 【外汇天眼】价格波动的节奏感:优化止盈方法!
  • VMvare虚拟机安装国产麒麟V10桌面操作系统
  • Golang--channel+waitGroup控制并发量
  • 前端【响应式图片处理】之 【picture标签】
  • js实现链式调用,查询和处理数据
  • 阿里云 腾讯云 配置二级域名并解析指向非80端口操作指南
  • 菜单子节点的写法
  • 系统架构设计:9 论软件系统架构评估及其应用
  • javaee SpringMVC中json的使用
  • 【系统架构】软件架构的演化和维护
  • 一盏茶的功夫帮你彻底搞懂JavaScript异步编程从回调地狱到async/await
  • 前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》
  • 从0开始python学习-31.selenium 文本输入框、下拉选择框、文件上传、时间插件选择元素定位
  • MyCat-web安装文档:安装Zookeeper、安装Mycat-web
  • Ajax跨域访问,访问成功但一直走error不走success的的问题解决