位置: 编程技术 - 正文

SQL Server数据迁移至PostgreSQL出错的解释以及解决方案(sqlserver2008数据迁移)

编辑:rootadmin

推荐整理分享SQL Server数据迁移至PostgreSQL出错的解释以及解决方案(sqlserver2008数据迁移),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql server的数据如何迁移到mysql,SQL server数据迁移原因,sql数据库迁移,SQL server数据迁移hana数据库表名,sql server的数据如何迁移到mysql,sql server数据文件迁移,SQL server数据迁移hana数据库表名,SQL server数据迁移hana数据库表名,内容如对您有帮助,希望把文章链接给更多的朋友!

问题重现:

1、PG客户端:

2、SQL Server产生数据

然后通过java程序进行获取数据并插入到PG,同样会得到错误信息:

首先我们认为此为gb转化到UTF8时,发生了无法转化的错误。经查UTF8是变长的, 1-6个字节。他的编码规则如下:

Bits Last code point Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 7 U+F 0xxxxxxx U+FF xxxxx xxxxxx U+FFFF xxxx xxxxxx xxxxxx U+1FFFFF xxx xxxxxx xxxxxx xxxxxx U+3FFFFFF xx xxxxxx xxxxxx xxxxxx xxxxxx U+7FFFFFFF x xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx

而0x是符合UTF8规则的。这就使我们非常诧异。然后我们发现有两点继而确认了问题:1、

2、

Terminating character

Indicated by

Tab

t

This is the default field terminator.

Newline character

SQL Server数据迁移至PostgreSQL出错的解释以及解决方案(sqlserver2008数据迁移)

n

This is the default row terminator.

Carriage return/line feed

r

Backslash1

\

Null terminator (nonvisible terminator)2

Any printable character (control characters are not printable, except null, tab, newline, and carriage return)

(*, A, t, l, and so on)

String of up to printable characters, including some or all of the terminators listed earlier

(**t**, end, !!!!!!!!!!, t—n, and so on)

Source: Server处理是不相同的,所以在这里出现了错误。

而导致这一问题的PG具体代码如下(src/backend/utils/mb/wchar.c的pg_verify_mbstr_len):

report_invalid_encoding函数是将错误信息返回,也就是

invalid byte sequence for encoding "UTF8": 0x而真正导致这一问题的就是:!IS_HIGHBIT_SET(*mbstr)当*mbstr为0x时进入判断,然后进而判断*mbstr是否为,当为时,直接进入函数report_invalid_encoding报错。

所以出现此问题的原因是PG和SQL Server对null的处理是不相同的。

处理方案 :

1、将SQL Server源数据进行修改方法,

2、对应用进行修改,获取到SQL Server数据时,将数据进行转化,和第一种方法异曲同工。

标签: sqlserver2008数据迁移

本文链接地址:https://www.jiuchutong.com/biancheng/319669.html 转载请保留说明!

上一篇:CentOS中运行PostgreSQL需要修改的内核参数及配置脚本分享(centos执行sh)

下一篇:DB2 UDB V8.1管理学习笔记(一)(db2数据库管理的工具)

  • 进口洋酒能存放多少年
  • 保险费计入什么会计科目需要发票吗
  • 租车属于经营租赁吗
  • 高铁费可抵扣适用税吗
  • 民间非营利性组织收到个税手续费返还
  • 印花税购销合同计税金额怎么算
  • 价外收取的返还利润是什么意思
  • 保障房异地建设费缴纳契税吗?
  • 房地产企业开发成本科目明细
  • 拨款和支出的区别
  • 生产成本的明细账怎么登记
  • 一般纳税人可以开普票吗
  • 认证后的发票可以留抵下月抵扣吗
  • 出口退税操作明细表格
  • 企事业承包承租方缴纳的管理费税费
  • 增值税发票抵扣期限最新规定
  • 新个税申报身份怎么填
  • 土地补偿款属于专项资金吗
  • 货运发票与运输发票的区别
  • 固定资产无偿移交怎么做账
  • 存货盘亏损失
  • 闲置资金购买理财产品
  • mac怎么创建热点
  • 个人车辆过户给公司
  • 在建工程工程款优先受偿权
  • 卖固定资产如何申报
  • 一个更简单的无限级分类菜单代码
  • php数组原理
  • session php用法
  • 不是第三方的贷款app
  • 如何获取openai api
  • 收到商品的会计分录怎么写
  • 个人所得税的减数为2000元,实行日期为
  • 国家规定不计入社保基数
  • 建设期需要流动资金吗
  • 资产负债表项目填列的依据是
  • 普通发票的开票规定
  • 败诉方承担诉讼费缴直接付给法院还是胜诉方
  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  • 应收票据是借还是贷
  • vue中webpack用来干啥
  • js解构赋值浏览器报错
  • 小程序设计制作
  • thinkphp教程
  • 车保险费中的车险是什么
  • 其他应付款个人在贷方表示什么
  • 总分公司汇总申报计算
  • sql语句的查询语句
  • 核销坏账递延资产怎么算
  • java实现打印
  • 个人所得税的税率表最新的
  • mysqldump定时备份
  • 企业基建工程
  • 收汇结汇以什么汇率入账
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 银行收到货款会计分录怎么做
  • 先计提所得税还是先出报表
  • 建账有哪些步骤,每个步骤有哪些注意事项
  • mysql与c++相连
  • mysql存储引擎实现原理
  • sql多行合并成一行 oracle
  • 清理系统休眠文件
  • 双启动子存在的意义
  • Win10 Mobile 10572 预览版已修复和已知问题汇总
  • Linux系统中Squid代理服务器配置全过程解析
  • 如何设置win10系统输入法
  • win7的wifi功能在哪
  • powergenie是什么程序
  • windows打开
  • cocos lua js
  • jquery如何赋值
  • wind安装
  • nodejs test
  • 获取控件的值
  • unity ui
  • 简单的智能家居
  • mysql数据类型大全
  • sp海淘3档到国内什么快递
  • 河北省税务局稽查局领导班子
  • 国税手撕发票图片
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设