[DM8] 达梦8配置兼容Oracle

news2024/9/20 8:48:39

查看版本信息

select *,id_code from v$version;

查询解释: DM Database Server 64 V8 1-1-190-21.03.12-136419-ENT 64 版本位数标识,64表示为64位版本,无64则表示为32位版本 V8 大版本号,目前主要是V7、V8 1-1-190 小版本号,表示8.1.1.190 ENT 版本标识, ENT表示企业版,还有STD标准版,SEC安全版,(其他标识为非通用的定制版)

查看基础信息

-- 1.字符集;UTF-8;安装选项
SELECT '字符集',DECODE(UNICODE,'0','0-GB18030','1','UTF-8','2','EUC-KR') union
-- 2.大小写敏感;Y-敏感;安装选项
SELECT '大小写敏感',DECODE(SF_GET_CASE_SENSITIVE_FLAG,'0','N-不敏感','1','Y-敏感') union
-- 3.char是否以字符为单位;0-否;安装选项
SELECT 'char是否以字符为单位',DECODE(PARA_VALUE,0,'0-否',1,'1-是') FROM V$DM_INI WHERE "V$DM_INI".PARA_NAME='LENGTH_IN_CHAR' union
-- 4.页大小,DM建议32K;32KB;安装选项
select '页大小',page()/1024||'KB' union
-- 5. 兼容性;2-Oracle;执行如下语句修改:SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);若特殊参数显示NULL,重启解决
select '数据库兼容',DECODE(PARA_VALUE,0,'不兼容',1,'1-SQL92',2,'2-Oracle',3,'3-MSSQLServer',4,'4-MySQL',5,'5-DM6',6,'6-Teradata') from v$dm_ini where para_name='COMPATIBLE_MODE' union
-- 6.其他,关键字,特殊参数;;随兼容性变化
select '关键字过滤',PARA_VALUE from v$dm_ini where para_name='EXCLUDE_RESERVED_WORDS' union
--7. 空格填充,Oracle兼容必选1;1;安装选项
select '空格填充',PARA_VALUE from v$dm_ini where para_name LIKE '%BLANK_PAD_MODE%';

参数详解

BLANK_PAD_MODE参数说明

设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。 取值: 1 兼容; 0 不兼容。默认为 0。可选参数。修改参数需重装库

LENGTH_IN_CHAR参数说明

参数初始化后不可以修改,如需修改,请重新初始化。

VARCHAR 类型对象的长度是否以字符为单位。取值:1、Y 表示是,0、N 表示否。默认值为 0。可选参数。

1 或 Y:是,所有 VARCHAR 类型对象的长度以字符为单位。这种情况下,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可插入字符数超过定义长度的情况(超过的时候往往是因为有数字或是英文字符占位较少造成的),这种情况也是允许的。同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长度仍然不能超过 8188;

0 或 N:否,所有 VARCHAR 类型对象的长度以字节为单位。

数据库中设定LENGTH_IN_CHAR为1或Y时,字段长度没有超过8188时,其实际的占用的字节长度根据ASCII字符+CHARSET/UNICODE_FLAG参数定义的字符集单字符的宽度*该种字符数。

COMPATIBLE_MODE参数说明

--达梦数据库设置NULL与空串等价

达梦数据库默认NULL与空字符串不等价,而Oracle是默认NULL与空串等价的,当代码里以某个值为空来进行查询时,有可能判断的条件是NULL或空串,本来NULL与空串都算空但最后查出两种情况(如NULL不能把空串查询出来,空串不能把NULL查出来)

解决方法

1.查询条件把NULL及""都加上中间用||连接

2.直接改达梦数据库的配置

修改dm.ini 文件 COMPATIBLE_MODE = 2 ,重启服务即可

或者执行

SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);

注意事项

SP_SET_PARA_VALUE(scope,para_name,para_value);

scope:表示范围,有两个取值,1表示动态参数,2表示静态参数;(由上面可知数据库兼容模式是静态参数);

para_name:表示要修改的参数名称;

para_value:表示要修改的值;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1367702.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STL——stack,queue详解

目录 💡stack 💡基本概念 常用接口 💡queue 💡基本概念 💡常用接口 💡stack 💡基本概念 栈(stack):一种特殊的线性表,其只允许在固定的一端…

vue3用户权限管理(路由控制等)

在前端开发的过程中,我们需要做前端的权限管理,我们需要根据后端提供的信息来控制权限,这时候就需要根据用户的操作来进行权限控制了。逻辑稍微有一点绕,多理解就好了。 用户路由权限管理 大致的实现原理: 一般将路由…

Java方法用法及解析

在 Java 中,方法(Method)是用于执行特定任务的代码块。它是一个函数,用于封装一段可重复执行的代码,并可以被其他代码调用。方法定义了一系列操作的步骤,并提供了一种结构化和可复用的方式来组织和执行这些…

机器学习原理到Python代码实现之NaiveBayes【朴素贝叶斯】

Naive Bayes 朴素贝叶斯算法 该文章作为机器学习的第二篇文章,主要介绍的是朴素贝叶斯算法的原理和应用。学习本章内容建议对概率论中的联合概率以及先验概率、后验概率有初步的学习和掌握。 难度系数:⭐⭐⭐ 更多相关工作请参考:Github 算法…

ELK的搭建—Elasticsearch-8.11.3的安装及集群的搭建

es的安装及其集群的搭建 一、Elasticsearch服务的安装部署1. Elasticsearch的rpm包下载2. 安装Elasticsearch服务3. 设置系统资源及内存大小分配4. Elasticsearch的配置修改 二、建立Elasticsearch集群1. 安装Elasticsearch主节点server12. 配置server1,及配置文件的…

Linux文件系统与日志服务管理

目录 一.Linux文件系统 1.inode表和block (1)inode (2)block 2.查看inode号命令 3.Linux系统文件三种主要时间属性 4.磁盘空间还剩余很多但无法继续创建文件 5.inode大小 二.日志 1.日志保存位置 2.日志文件的分类 &a…

Making Large Language Models Perform Better in Knowledge Graph Completion

Making Large Language Models Perform Better in Knowledge Graph Completion 基本信息 博客贡献人 鲁智深 作者 Yichi Zhang, Zhuo Chen, Wen Zhang, Huajun Chen 隶属于浙江大学计算机学院和软件学院 摘要 本文主要探讨了如何将有用的知识图谱结构信息融入大语言模型中…

使用Redhat操作系统下载MySQL

一、本地下载安装 方法一 ①在虚拟机火狐浏览器中搜索MySQL官网(选择第一个下载) ②下载完毕使用xshell远程连接解压及安装 [rootlocalhost ~]# cd /Downloads/ [rootlocalhost Downloads]# mkdir /mysql/ [rootlocalhost Downloads]# mv mysql-8.0.3…

12.字符串和正则表达式

使用正则表达式 正则表达式相关知识 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具,换句话说正则表达式是一种工具,它定义了字符串的匹配模式(…

25 心形按钮

效果演示 实现了一个心形的心形图案&#xff0c;当用户点击图案时&#xff0c;图案会旋转并缩小&#xff0c;同时背景颜色会变成白色。 Code <div class"love"><input id"switch" type"checkbox"><label class"love-heart&…

窗口超出屏幕拉不出来或移到屏幕边上的解决办法

前言 由于一些原因&#xff0c;比如进行远程电脑时屏幕大小不同&#xff0c;导致一些程序窗口超出屏幕拉不出来或移到屏幕边上&#xff0c; 我是在公司有个大屏幕&#xff0c;抱着笔记本回去之后&#xff0c;有个软件打开之后啥也没有。估计是跑到屏幕外了。 以下附上解决方法…

软件工程概论---内聚性和耦合性

目录 一.耦合性 1.内容耦合 2.公共耦合 4.控制耦合 5.标记耦合&#xff08;特征耦合&#xff09; 6.数据耦合 7.非直接耦合 二.内聚性 1.偶然内聚 2.逻辑内聚 3.时间内聚 4.过程内聚 5.通信内聚 6.顺序内聚 7.功能内聚 一.耦合性 耦合性是指软件结构中模块相互…

React 类组件和函数组件

组件component 一.概念 Element VS Component (元素与组件) //不成文的约定:元素小写&#xff0c;组件大写 const divReact.createElement(div,...) 这是一个React元素(小写) const Div()>React.createElement(div,...) 这是一个React组件(大写) 什么是组件? 能跟其他…

解决:已经安装open3d,还是报错No module named ‘open3d‘的问题

首先示例&#xff0c;我是如何安装又是如何被报错的过程。 报错过程&#xff1a; 网上普遍的安装指令就是下面这个&#xff1a; pip install open3d 我是直接python页面的终端安装的&#xff1a; 安装完&#xff0c;检查列表已安装文件是否有open3d&#xff0c; 输入指令 …

Linux:进程的通信

目录 进程间的通信 管道 1.概念 2.匿名管道 3.命名管道 4.匿名管道与命名管道的区别 5.总结管道的特点 共享内存 1.原理 2.共享内存的建立 3.代码 1.相关函数 2.总结 进程间的通信 1.进程间通信目的 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程…

flex弹性盒子常用的布局属性详解

想必大家在开发中经常会用到flex布局。而且还会经常用到 justify-content 属性实现分栏等等 接下来给大家分别讲一下 justify-content 的属性值。 以下是我敲的效果图大家可以清晰看出区别 space-between 属性值可以就是说两端对齐 space-evenly 属性值是每个盒子之间的…

攀登者1 - 华为OD统一考试

OD统一考试 分值: 100分 题解: Java / Python / C++ 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 例如:[0,1,2,4,3,1,0,0,1,2,3,1,2,1,0],代表如下…

如何顺滑使用华为云编译构建平台?

这两年平台构建服务需求越来越大&#xff0c;却一直苦于找不到一些指南&#xff0c; 这里特意写了一篇&#xff0c; 对在学习代码阶段和新手程序员朋友也蛮友好&#xff0c; 配置真的也不难&#xff0c; 也特别适合想尝试从0到1做个APP的朋友了。 以华为云的CodeArts Build为例…

鸿蒙系统应用开发之开发准备

今天我们来聊一聊鸿蒙系统应用开发之前&#xff0c;要做什么准备工作&#xff0c;如下图所示&#xff0c;我们要做的就是安装DevEco Studio&#xff0c;然后配置开发环境。 老规矩&#xff0c;拍拍手&#x1f44f;&#xff0c;上菜。 安装DevEco Studio 首先我们打开链接HUAWEI…

【Linux Shell】12. 文件包含

和其他语言一样&#xff0c;Shell 也可以包含外部脚本&#xff0c;这样可以很方便的封装一些公用的代码作为一个独立的文件。可以理解为在第2个文件中包含第1个文件&#xff0c;执行第1个文件的代码。 被包含的文件 不需要可执行权限 。Shell 文件包含的语法格式如下&#xff1…