位置: 编程技术 - 正文

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数据库管理的工具)

  • 当期所得税是否是当期缴纳的所得税
  • 交通运输企业车辆折旧能加速扣除
  • 建筑公司办公室照片真实
  • 公司买金蝶计入什么科目
  • 利润表年底净利润是正数吗
  • 金蝶专业版二级科目设置
  • 更换电脑后个税信息如何导入
  • 研发费用加计扣除行业
  • 汇算清缴亏损在后期弥补时怎么做会计处理?
  • 冲销主营业务收入后导致发生额变大
  • 未支付的款项如何做账
  • 发票对方认证不了怎么回事
  • 三栏式明细账适用于哪些账簿
  • 提前预支了应得的工资犯法吗
  • 股权转让印花税是双方都要缴纳吗
  • 员工报销医药费计入什么费用
  • 关于个人所得税纳税人的说法正确的有
  • 分期付款购入原材料怎么做账
  • 商超联营扣点
  • 公司发手机奖励合法吗
  • 实收资本不是股东打来的怎么调帐
  • 金蝶软件入库
  • 实际成本法的会计分录怎么写
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • 通行费怎么认证
  • 固定资产资产评估
  • 代销商品手续费计入什么科目
  • 异地增值税预交可以网上缴纳吗
  • 累计折旧 减少
  • php怎么实现代码运行功能
  • 安装adsl modem必须安装什么协议
  • rsync inotify sersync
  • 新店开业费用预算表格
  • 期货手续费是双向收取吗
  • laravel批量insert
  • java基础教程
  • 魁北克老城区景点
  • vue思维导图怎么下载
  • node.js教程详细
  • nginx解决跨域问题原理
  • vue和react差别
  • phpcms建站流程
  • c语言的空指针
  • 研发费用加计扣除75%还是100%
  • 什么情况下应该辞职
  • 商户待清算账户是什么
  • access中宏是按什么调用的
  • mysql5.0升级到8.0
  • 新办商贸企业是国企吗
  • 厂区地面硬化属于土建还是市政
  • 幼儿园收费怎么说
  • 增值税专用发票的税率是多少啊
  • 稳岗补贴属于是什么补贴
  • 个体工商户生产经营税
  • 个税申报当月申报了上月应发工资怎么调整
  • 以前年度多交增值税账务处理
  • 土地使用权是什么权利
  • 过期产品进项税用转出吗
  • 印花税申报成功未扣款还能更正吗
  • 以前年度损益调整是什么意思
  • 专款支出和事业支出
  • 一次摊销法的账务处理
  • 销售成本的结转
  • 网络管理费用
  • 为什么营业成本属于费用
  • 在建工程怎么记账
  • 增值税科目设置及科目号
  • win8键盘f1到f12取消按fn
  • freebsd安装教程
  • windows8.1玩穿越火线
  • opengl纹理采样
  • cocos2dx4.0入门
  • ext.grid.editorgridpanel
  • node 加密解密
  • unity3d官方案例
  • js关闭子窗口
  • android在手机上运行
  • python tcp编程
  • 如何将个税人员信息改为非正常
  • 生活垃圾处理合作协议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设