Oracle与PostgreSQL数据写入的方法是什么
发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要介绍"Oracle与PostgreSQL数据写入的方法是什么",在日常操作中,相信很多人在Oracle与PostgreSQL数据写入的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简
千家信息网最后更新 2024年11月28日Oracle与PostgreSQL数据写入的方法是什么
这篇文章主要介绍"Oracle与PostgreSQL数据写入的方法是什么",在日常操作中,相信很多人在Oracle与PostgreSQL数据写入的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Oracle与PostgreSQL数据写入的方法是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在特殊字符(不可见字符,如ASCII 0、控制字符、非法字符等)上,Oracle非常宽松,基本上可以写入任何数据,包括不符合编码规则的数据。而PostgreSQL则不然,必须符合该字符集的编码,比如在UTF8字符集下,输入的字符编码比如符合UTF8编码。
Oracle
字符集为GBK,创建数据表,插入特殊字符(0x00),没有问题
TEST-orcl@DESKTOP-V430TU3>drop table t_0x00 purge;Table dropped.TEST-orcl@DESKTOP-V430TU3>create table t_0x00(id int,c1 varchar2(200),c2 blob);Table created.TEST-orcl@DESKTOP-V430TU3>insert into t_0x00 values(1,chr(0),null);1 row created.TEST-orcl@DESKTOP-V430TU3>insert into t_0x00 values(2,'c1'||chr(0),null);1 row created.TEST-orcl@DESKTOP-V430TU3>insert into t_0x00 values(3,chr(0)||'c1',null);1 row created.TEST-orcl@DESKTOP-V430TU3>insert into t_0x00 values(4,'c1'||chr(0)||'c1',null);1 row created.TEST-orcl@DESKTOP-V430TU3>insert into t_0x00 values(5,'c1'||chr(0)||'c1',to_blob(HEXTORAW('550055')));1 row created.TEST-orcl@DESKTOP-V430TU3>TEST-orcl@DESKTOP-V430TU3>select * from t_0x00 where c1 like '%'||chr(0)||'%'; ID C1 C2---------- -------------------- -------------------- 1 2 c1 3 c1 4 c1 c1 5 c1 c1 550055TEST-orcl@DESKTOP-V430TU3>
PostgreSQL
字符集为UTF8,创建数据表,插入特殊字符(0x00),无法插入
[local:/data/run/pg12]:5120 pg12@testdb=# \encodingUTF8[local:/data/run/pg12]:5120 pg12@testdb=# drop table t_0x00;insert into t_0x00 values(4,'c1'||E'\x00'||'c1',null);insert into t_0x00 values(5,'c1'||E'\x00'||'c1','\x550055'::bytea);DROP TABLE[local:/data/run/pg12]:5120 pg12@testdb=# create table t_0x00(id int,c1 varchar(200),c2 bytea);CREATE TABLE[local:/data/run/pg12]:5120 pg12@testdb=# [local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(1,E'\x00',null);ERROR: invalid byte sequence for encoding "UTF8": 0x00[local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(1,chr(0),null);ERROR: null character not permitted[local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(2,null,bytea '\x00');INSERT 0 1[local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(3,E'\x00'||'c1',null);ERROR: invalid byte sequence for encoding "UTF8": 0x00[local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(4,'c1'||E'\x00'||'c1',null);ERROR: invalid byte sequence for encoding "UTF8": 0x00[local:/data/run/pg12]:5120 pg12@testdb=# insert into t_0x00 values(5,'c1'||E'\x00'||'c1','\x550055'::bytea);ERROR: invalid byte sequence for encoding "UTF8": 0x00[local:/data/run/pg12]:5120 pg12@testdb=# select * from t_0x00 where c1 like '%'||chr(0)||'%';ERROR: null character not permitted[local:/data/run/pg12]:5120 pg12@testdb=#
在Oracle -> PG的迁移过程中,这些特殊字符是需要考虑的。
到此,关于"Oracle与PostgreSQL数据写入的方法是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
字符
数据
方法
特殊
编码
学习
字符集
数据表
更多
问题
帮助
实用
宽松
接下来
文章
理论
知识
篇文章
网站
规则
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金融和网络安全
mysql数据库高级工程师
数据库已经有锁
数据库访问类的实现
cmd进入服务器
申万宏源与上海福华网络技术
数据库参数值怎么设置
德惠智能化网络安全创新服务
设备的后端服务器架构
网络安全法包括那两个方面
公司内部服务器配置
网络安全技术力量加强
济南市传世网络技术有限公司
遂宁有几家软件开发
软件开发公司实力怎么写
哪儿学软件开发
数据库销售表设计代码
mysql数据库默认连接
组织信息 网络安全
学嵌入式软件开发做测试
女孩子适合做软件开发吗
判断数据库中所有字段为空
数据库原理第二章习题
28岁初中男学软件开发
网络安全海报宣传语
越秀区正规网络技术开发咨询报价
湛江汽车软件开发费用是多少
数据库的日志文件的扩展名是
大学生数据库学习
计算机网络技术毕业论文方向