达梦.NET数据访问技术介绍

达梦.NET数据访问技术介绍
达梦.NET数据访问技术介绍

达梦.NET数据访问技术介绍

摘要:在.NET环境下达梦数据库提供了针对本身进行优化的数据库访问接口,本文通过该接口的背景介绍、设计实现和编程应用等方面来介绍达梦.NET数据访问接口。为用户在.NET环境下,编程实现访问达梦数据库提供一定的指导和帮助。

1. 背景介绍

.NET的数据访问接口是通过https://www.360docs.net/doc/dd15088683.html,类库来实现的。在https://www.360docs.net/doc/dd15088683.html,类库中,微软提供了两套方法:System.Data.OleDb和System.Data.SQLClien。其中OleDb是微软推出来想取代ODBC的新一代标准,所以通过System.Data.OleDb能够连接所有提供了OleDb接口的数据库;而SQLClient则是微软专门为自己的MSSQL数据进行优化后的连接,所以前者基本适用于任何数据库,而后者只适用于MSSQL数据库,并且后者的性能要比前者好得多。

同样,达梦数据库不但提供了ODBC、OleDb和JDBC等数据库接口,同时也提供了.NET Framework 环境下针对达梦数据库进行了相关优化后的数据库服务的编程接口。该接口在数据源和代码之间创建了一个最小层,以便在不以功能为代价的前提下提高性能。本文就主要介绍达梦数据库的.NET环境下的数据库访问接口:DMClient。

2. 达梦.NET数据访问接口设计实现

设计策略

(1) 模块划分

提供的用户接口按功能划分为:

连接模块:DmConnection

语句执行模块:DmCommand、DmParameter、DmParameterCollection

结果集访问模块:DmDataReader

数据适配模块:DmDataAdapter

事务处理模块:DmTransaction

(2) 将各个不同的功能以封装的形式封装在一个功能类中,提供用户调用接口,从而使得底层支持和上层应用分开。

(3) 以面向对象的方法来编写类,通过抽象、封装、继承等方法使得组件有更好的复用性。

(4) 为了使得代码能够被重用,每个过程只使用其自身的输入参数和/或对其他全局可见过程的调用完成其工作,而且不应该使用任何非局部变量。同时通过编写接口而不是编写类来实现,选择耦合性较小的输入参数接口类型。

2.2 设计实现

该接口包括DmConnection、DmCommand、DmDataAdapter、DmDataReader、DmParameter、DmParameterCollection和DmTransaction。

图1表明了各模块之间的关系。

用户在与服务器连接的基础上,通过向服务器发送SQL语句命令,由DmCommand、DmParameter 和DmParameterCollection模块提供语句执行功能。用户可以通过DmDataReader模块对结果集进行只读且只进的访问,也可以通过DmDataAdapter模块将结果集本地化到DataSet中和更新数据源。

2.3 各模块功能及依赖关系

(1) DmConnection用于创建应用程序和服务器之间的连接,该功能依赖于DmConnInstance、DmConnInstancePool和DmConnProperty模块。其中DmConnInstance用来表示一个连接实例,DmConnInstancePool用于支持连接池,DmConnProperty记录一个连接的所有属性。

(2) DmCommand用于提供语句执行功能,该功能依靠DmParameter和DmParameterCollection可以设置带参数的SQL命令。语句的执行是基于连接的,必须指定命令所对应的连接。

(3) DmDataReader依赖于DmCommand的执行结果,提供对结果集只读且只进的访问功能,还可以访问每一行中的列值。

(4) DmDataAdapter提供数据适配功能,把结果集填充到DataSet中并可以对数据源进行解析更新。该功能依赖于DmCommand对语句的执行结果。

2.4 功能实现

DM .net provider核心类包括四个,分别为DmConnection、DmDataReader、DmCommand和DmDataAdapter。其中:

DmConnection提供用户连接到服务器功能,允许用户提供主机名、用户名、密码和端口等连接信息进行连接;DmCommand为用户提供执行SQL语句和命令的功能;DmDataReader提供用户结果集访问功能,允许用户访问多结果集,读取结果集记录。从数据源中读取只读且只进数据流;DmDataAdapter提供用户将结果集填充到DataSet中的能力,并解析更新。

DM .net provider的扩充类包括DmTransaction、DmParameter和DmParameterCollection。其中:DmTransaction为用户提供控制数据库事务的能力;DmParameter和DmParameterCollection为用户提供定义命令和存储过程的输入、输出和返回参数的功能。

3. 编程应用

3.1 编程环境

要求在VISUAL STUDIO .NET 2003, FRAMEWORK 1.1以上的版本。正确安装DM数据库,并将dmprovider.dll拷贝到C:\WINDOWS\System32下,并在项目中引用该dll并声明命名空间Dm。

3.2 获取连接

通过DmConnection类来连接达梦数据库服务器。

public void getConnection()

{

DmConnection cnn = new DmConnection();

cnn.ConnectionString =

"server=localhost;User ID=SYSDBA;PWD=SYSDBA;Database=SYSTEM;port=12345;";

try{

cnn.Open();

}catch(Exception ex) {

Console.WriteLine(ex.Message);

}

cnn.Close();}

3.3 执行SQL语句

成功连接了达梦数据库服务器后,通过DmCommand类来提交SQL语句,对数据库服务器进行增、删、改、查等操作。

public void ExecSQL()

{

DmCommand command = new DmCommand();

command.Connection = cnn;

try

{

https://www.360docs.net/doc/dd15088683.html,mandText = "create table test(c1 int, c2 varchar(20));";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "insert into test values(1, 'hi');";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "update test set c2='hello world!' where c1=1;";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "delete from test where c1=1;";

command.ExecuteNonQuery();

}

catch(Exception ex)

{

Console.WriteLine("发生未预期的错误导致测试失败:"+ex.Message,2);

}

}

3.4 执行带参数的SQL语句

需要使用DmParameter类进行支持

public void ExecSQLWithParam(int param1, string param2)

{

DmConnection cnn = new DmConnection();

DmCommand command = new DmCommand();

try

{

command.Connection = cnn;

https://www.360docs.net/doc/dd15088683.html,mandText = "create table test_1 (c1 int, c2 varchar(20));";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "insert into test_1(c1,c2) values(?, ?);";

DmParameter dp2 = new DmParameter("para2", Dm.DmDbType.VarChar,10);

DmParameter dp1 = new DmParameter("para1", Dm.DmDbType.Int32, 10);

dp1.Value = param1;

dp2.Value = param2;

command.Parameters.Add(dp1);

command.Parameters.Add(dp2);

command.ExecuteNonQuery();

}

catch(Exception ex)

{

Console.WriteLine(ex.Message);

}

}

3.5 读取结果集

读取返回的结果集,需要通过DmDataReader类来实现

public void getResultSet()

{

DmCommand command = new DmCommand();

try{

command.Connection = cnn;

https://www.360docs.net/doc/dd15088683.html,mandText = "select * from system.sysdba.systables;";

DmDataReader reader = command.ExecuteReader();

while(reader.Read())

{

Console.WriteLine ("结果集为:"+reader[i]);

}

}

catch(Exception ex)

{

Console.WriteLine("捕获未预期异常:"+ex.ToString(),2);

}

}

3.6 事务的支持

DmTransaction类是专门用来支持事务处理的。

public void TestTransaction(string[] args)

{

DmCommand command = cnn.CreateCommand();

DmTransaction dt;

dt = cnn.BeginTransaction();

command.Connection = cnn;

command.Transaction = dt;

try{

https://www.360docs.net/doc/dd15088683.html,mandText = "insert into t1_Dmcntransaction(c1,c2) values(1,'aaa')";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "insert into t1_Dmcntransaction(c1,c2) values(2,'bbb')";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mandText = "insert into t1_Dmcntransaction(c1,c2) values(3,'ccc')";

command.ExecuteNonQuery();

https://www.360docs.net/doc/dd15088683.html,mit();

}

catch(Exception ex)

{

dt.Rollback();

Console.WriteLine(ex.Message,2);

}

}

以上都是DM .NET PROVIDER的一些基本应用。并且DM .NET PROVIDER在设计时严格按照MSDN2003来实现,所以用户在具体应用时,也可以参考MSDN。

达梦数据库安装部署

达梦数据库安装部署文档 一.数据库安装过程 1. Windows环境安装 基本上就是下一步下一步,按照默认安装就好,安装路径根据自己的要求选择。在利用我们的数据库配置助手dbca工具初始化库的过程中,需要将下图红色框选部分改为如图所示即可。详细的安装细节可以参考我们的文档。 注意:页大小除去Clob、Blob等大字段外,数据库中一行记录的所有字段的实际长度的和不能超过页大小的一半; 日志文件的大小数据库redo日志文件的大小(正式环境一般设置为2048); 字符串比较大小写敏感默认为大小写敏感的,根据具体情况进行设置; 建议:在开发环境和测试环境的页大小、字符串大小写敏感这两个参数一 定要保持一致,不然当涉及到用.bak文件还原的时候就会因这两个参数不 一致导致无法还原。 2. Linux环境安装 在中标麒麟的系统中打开一个终端窗口,通过命令:ulimit –a查看,如下图所示: 如果open files这个参数的值为65536表示之前修改过,如果没有修改按照下面的方法进行修改。 Linux系统在安装之前先确认打开文件数的那个参数的设置情况,现在在中标麒麟的操作系统上安装我们DM7数据库,在使用我们的数据库配置助手dbca进行初始化数据库时经常会碰到“打开文件数过多的问题”。

解决办法如下: 用vim打开/etc/profile文件,在该文件最后加上一行ulimit -n 65536,(注意在添加的时候只需添加ulimit –n 65536即可,后面不需要标点符号。)然后重启服务器即可。修改好操作系统的打开文件这个参数后就可以按照下面的安装步骤进行安装了。 详细安装流程如下: (1)确定当前用户是不是root用户(在命令行窗口中输入: who am i),最 好在root用户下安装,否则有可能有些权限不够; (2)进入到我们安装文件所在的目录,并赋予它777权限(命令为:chmod 777 ; (3)执行安装 ./ –i (4)在安装的过程中按照提示一步一步操作,基本上选择默认的就可以了。 只有在时区的选择上注意选择中国的时区; (5)选好之后等待安装过程结束,会有相应的提示信息; (6)初始化库,切入到我们安装目录的bin目录,一般默认安装路径为 /opt/dmdbms/bin, 执行命令./dminit path=/opt/dmdbms/data page_size=16 log_size=2048 case_sensitive=n。当然如果我们能够 直接接触到服务器的话,也可以利用桌面上我们DMDBMS文件夹里面的 client文件夹里面有一个数据库配置助手初始化我们的数据库,使用方 法与Windows平台相同; (7)切入到到我们安装目录的bin目录,一般路径为/opt/dmdbms/bin, 在 该目录下有个dmserverd的文件,用vim打开这个文件后, 把这一行改为如上图所示的情况path=/opt/dmdbms/data/DAMENG/,然后保存退出。 (8)至此我们的数据库就已经安装配置完成了,现在我们可以切入到安装 目录的bin,路径为/opt/dmdbms/bin,执行命令 ./dmserverd start 就

达梦数据库集群选择及介绍

达梦数据库集群选择及介绍 武汉达梦数据库有限公司 2019年9月

版本历史

目录 1 达梦公司介绍 (1) 1.1核心研发能力 (1) 1.2运维保障能力 (2) 1.2.1 保障体系的组织方式 (2) 1.2.2 服务保障流程 (5) 2 数据库集群选择及介绍 (8) 2.1路线规划 (8) 2.2集群种类 (10) 2.2.1 达梦数据守护集群(DataWatch) (10) 2.2.2 达梦读写分离集群(DMRWC) (15) 2.2.3 达梦大规模并行处理框架(DMMPP) (18) 2.2.4 达梦数据共享集群(DMDSC) (23) 3 成熟案例介绍 (28) 3.1国家智能电网调度指挥系统D5000 (28) 3.2南方电网-OS2地级主站系统 (28) 3.3中航信在线事务处理系统 (29) 3.4中国铁建集团财务大共享系统 (29) 3.5海南社保 (30) 3.6南京公安警务平台系统 (30) 3.7江苏监狱管理局项目 (31) 3.8国家发改委-投资审批系统 (31) 3.9国家发改委-信用交换平台 (32)

1达梦公司介绍 达梦数据库有限公司成立于2000年11月,注册资金3637万,为国有控股的大型基础软件企业。其前身是华中科技大学数据库与多媒体研究所,是国内最早从事数据库管理系统研发的科研机构,得到国家各级政府的强力支持,是中国数据库标准委员会挂靠单位,湖北省数据库工程技术研究中心。在北京、石家庄、上海、广州、南宁、西安和成都等地设有分支机构。 达梦公司是国家规划布局内重点软件企业,首批获得国家“双软”认证的高新技术企业,专业从事数据库管理系统研发、销售和服务。公司管理规范,锐意进取,通过了国家保密局“涉及国家秘密的计算机信息系统集成软件单项资质”认证和工业信息化部“计算机信息系统集成资质二级”认证,并通过了国际IS09001质量体系和CMMI软件成熟度模型五级认证,AAA资信。 达梦人经过30年的努力拼搏,在学习、分析国际上众多优秀数据库产品的基础上原始创新,投入上千人年,耗资过亿,开发源代码上千万行,形成了具有完全自主知识产权的DBMS产品系列,先后完成了近80项国家级、省部级的科研开发项目,取得了50多项研究成果,皆为国际先进、国内领先水平,其中30多项获国家、省部级科技进步奖,在国内同行中处于领先地位。 达梦数据库是国内第一家通过国家安全三级认证,国内第一家通过10TB数据库容量测试的数据库产品,也是唯一通过中国人民解放军目前最高级别军B级认证的国产数据库。达梦数据库产品已成功用于我国国防军事、公安、安全、财政金融、电力、水利、审计、交通、信访、电子政务、税务、国土资源、制造业、消防、电子商务、教育等20多个行业及领域,装机量超过10万套,打破了国外数据库产品在我国一统天下的局面,取得了良好的经济效益和社会效益。 达梦数据库(DM)具有完全知识产权,是达梦人近30年的智慧、心力和汗水的结晶,是中国人的骄傲,必将为中国信息化做出贡献。 1.1核心研发能力 达梦数据库历来注重新的技术发展趋势和技术研发工作,工作70%以上人员为技术人员。DM7.0推出后,在国内数据库领域引起了强烈反响。在这一款产品上,达梦推出了目前

DMETL安装手册(安装升级必看)

达梦数据交换平台 安 装 手 册 达梦数据库有限公司 2013年6月

目录 第1章系统管理........................................................................................................ 错误!未定义书签。 1.1 安装 (1) 1.1.1 图形化安装 (1) 1.1.2 命令行安装 (11) 1.1.3 手动安装服务 (13) 1.2 启动与停止服务 (14)

安装手册 1.1 全新安装 在Linux或Windows平台下,运行安装文件就可以开始达梦数据交换平台的安装。默认启动图形界面的安装向导,在Linux平台下运行安装文件时添加参数 -i 可以启动字符界面安装达梦数据交换平台。 1.1.1 图形化安装 1.进入安装向导 运行安装文件后,进入达梦数据交换平台安装向导界面,如下图所示: 2.授权协议

在安装和使用达梦数据交换平台之前,该安装程序需要用户阅读授权协议条款,用户如接受该协议,则选中“接受”,并点击“下一步”继续安装;用户若选中“不接受”,将无法进行安装,如下图所示: 3.验证Key文件 用户可以选择“免费试用达梦数据交换平台”选项使用试用版Key文件,或者选择“使用已申请的Key文件”选项自行添加Key文件路径,安装程序将自动验证Key文件信息,如果是合法的Key文件且在有效期内,用户可以点击下一步继续安装,如下图所示:

4.选择安装组件和目录 达梦数据交换平台提供标准版和企业版的安装,其中标准版主要提供基本的数据整合和数据同步功能,企业版则在标准版的功能上增加了基于消息的数据交换与路由、监控与统计、数据质量管理、数据的发布和订阅等企业级的功能。必须选择企业版的Key许可证文件才能够选择安装企业版包含的组件。选择自定义安装,用户可以在可选择的安装组件中自行选择。 用户可以选择达梦数据交换平台的安装目录,以及是否创建开始菜单和桌面的快捷方式。达梦数据交换平台在Windows平台默认是安装在C:\dmetl4下,Linux平台默认是安装在当前用户 的目录下,对于root用户默认安装在 /opt/ 目录下。

达梦数据库安装部署

达梦数据库安装部署集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

达梦数据库安装部署文档 一.数据库安装过程 1. Windows环境安装 基本上就是下一步下一步,按照默认安装就好,安装路径根据自己的要求选择。在利用我们的数据库配置助手dbca工具初始化库的过程中,需要将下图红色框选部分改为如图所示即可。详细的安装细节可以参考我们的DM7_Install_zh.pdf文档。 注意:页大小除去Clob、Blob等大字段外,数据库中一行记录的所有字段的实际长度的和不能超过页大小的一半; 日志文件的大小数据库redo日志文件的大小(正式环境一般设置为2048); 字符串比较大小写敏感默认为大小写敏感的,根据具体情况进行设置; 建议:在开发环境和测试环境的页大小、字符串大小写敏感这两个参数 一定要保持一致,不然当涉及到用.bak文件还原的时候就会因这两个参 数不一致导致无法还原。 2. Linux环境安装 在中标麒麟的系统中打开一个终端窗口,通过命令:ulimit –a查看,如下图所示: 如果open files这个参数的值为65536表示之前修改过,如果没有修改按照下面的方法进行修改。

Linux系统在安装之前先确认打开文件数的那个参数的设置情况,现在在中标麒麟6.0的操作系统上安装我们DM7数据库,在使用我们的数据库配置助手dbca进行初始化数据库时经常会碰到“打开文件数过多的问题”。 解决办法如下: 用vim打开/etc/profile文件,在该文件最后加上一行ulimit -n 65536,(注意在添加的时候只需添加ulimit –n 65536即可,后面不需要标点符号。)然后重启服务器即可。修改好操作系统的打开文件这个参数后就可以按照下面的安装步骤进行安装了。 详细安装流程如下: (1)确定当前用户是不是root用户(在命令行窗口中输入: who am i), 最好在root用户下安装,否则有可能有些权限不够; (2)进入到我们安装文件所在的目录,并赋予它777权限(命令为: chmod 777 DMInstall.bin); (3)执行安装 ./DMInstall.bin –i (4)在安装的过程中按照提示一步一步操作,基本上选择默认的就可以 了。只有在时区的选择上注意选择中国的时区; (5)选好之后等待安装过程结束,会有相应的提示信息; (6)初始化库,切入到我们安装目录的bin目录,一般默认安装路径为 /opt/dmdbms/bin, 执行命令./dminit path=/opt/dmdbms/data page_size=16 log_size=2048 case_sensitive=n。当然如果我们能够 直接接触到服务器的话,也可以利用桌面上我们DMDBMS文件夹里面的 client文件夹里面有一个数据库配置助手初始化我们的数据库,使用

达梦连接oracle配置说明

达梦连接oracle配置说明 武汉达梦数据库 2017年6月

目录 达梦连接oracle配置说明 (i) 第1章需求描述 (2) 第2章配置说明 (3) 2.1配置准备 (3) 2.2配置说明 (3) 2.2.1 部署oracle客户端 (3) 2.2.2 拷贝动态库文件 (5) 2.3创建DBLINK (6) 2.3.1 创建DBLINK (6) 2.3.2 实现数据同步 (6) 第3章附件 (8)

第1章需求描述 为了方便和oracle共享数据,达梦实现了和oracle之间的DBLINK功能,在达梦中建立了到oracle的DBLINK后,在达梦中可对oracle进行增删改查操作,但是需遵循达梦的语法,且支持的功能有限,对于复杂的操作,不建议使用该功能;

第2章配置说明 为了实现该DBLINK功能,需要在达梦数据库所在的服务器中部署oracle客户端,且将一些动态库文件放置在$DAMENG_HOME/BIN下,之后重启达梦数据库即可; 2.1配置准备 1、部署于linux64上的达梦数据库; 2、部署于linux64上的oracle数据库; 3、Linux64版本的oracle客户端;具体可见附件,包括三个文件; 2.2配置说明 2.2.1部署oracle客户端 1、创建oracle客户端软件存储路径,通过filezilla等工具将oracle客户端传输到对应文件夹中 mkdir -p /home/soft_bak 2、解压三个压缩文件 unzip instantclient-basic-linux.x64-11.2.0.4.0.zip unzip instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip unzip instantclient-sdk-linux-x86-64-11.2.0.2.0.zip 3、创建oracle客户端的base路径,并部署 mkdir -p /home/oracle mkdir -p /home/oracle/sdk mkdir -p /home/oracle/network/admin cd /home/soft_bak/instantclient_11_2/ mv sdk/* /home/oracle/sdk

数据交换平台参数

数据交换平台参数 质保期:三年数量:一套交货日期:天(日历日) .数据交换 1)支持各种主流操作系统平台和多种数据库系统,如、、、、,以及达梦、等国产数据库。 2)提供对接入系统数据源的统一配置和管理,可远程对数据源进行初始化操作; 3)提供架构的数据交换流程配置界面,实现对数据库数据交换和目录文件交换,提供截图证明。 4)支持多种数据库表交换模式,包括触发器、时间戳、标志位、全量等; 5)支持符合不同业务场景需要的数据交换模式配置,包括一对多、多对一、多对多,以及单向交 换、普通双向交换、数据广播,特殊双向交换等。 6)支持数据交换业务域,可以实现数据交换节点内部的逻辑分组管理,且提供相应权限配置,使 不同的用户管理不同的数据交换域; 7)提供基于发布订阅机制的数据共享方式,资源提供方发布数据资源、使用方对所需资源进行订 阅,并提供资源订阅审核机制; 8)资源发布提供全表资源发布和部分字段资源发布的方式,订阅方也可以根据需要进行全表资源 订阅和部分字段资源订阅; 9)提供平台化的架构管理中心对交换环境进行监控,包括交换节点资源(、内存、网络、磁盘等) 和状态监控、交换流程监控、系统告警监控等。 10)提供交换过程的业务数据监控,可以以交换节点、数据源的维度对交换数据进行统计,包括某 一时间段内的数据变化量、交换成功量、失败量等信息。 11)提供资源注册和发布功能,包括数据库资源、文件资源的注册和发布; 12)提供资源目录可驱动数据交换,无需单独配置交换流程,实现资源目录与数据交换功能的联动 13)支持对交换基础设施设置告警阀值,平台提供邮件方式的监控告警,并提供告警通知扩展接口, 可定制其它告警通知方式。 14)提供管理审计功能,能够审计登陆用户、登陆时间、任务启停、流程启停、增减交换任务、增 减交换流程等重要信息; .消息中间件 1)具备良好的跨平台能力,支持、、、、等主流运行平台,并且在各平台上提供一致的接口; 2)为保证数据信息传输处理的高效率,消息中间件产品内核必须基于高效的语言实现。 3)支持点对点、订阅发布、路由转发、集群等多种消息传输模式。 4)提供本地队列、远程队列、集群队列,物理队列、逻辑队列等多种队列和队列的分组管理机制, 有利于队列和消息的管理维护。 5)支持临时队列,能够通过应用程序调用来创建、管理、撤销临时队列,并在不需要的情况下自 动删除临时队列。 6)★支持集群的负载均衡,包括线路备份、静态负载均衡、动态负载均衡等多种负载均衡方式。 7)提供消息的事务管理,多个消息发送和接收可包含在一个事务里,保证一个事务中的所有消息 发送和消息接收的操作要么全部成功,要么全部失败。失败的消息接收操作会将消息回退到队列中,等待下次的处理。 8)支持断点续传与消息持久化,保证消息可靠传输。 9)支持数据包和文件两种消息的类型。并支持大数据包、大文件(大于)的传输。支持仅仅通过 文件路径名直接进行文件传输,不需要应用程序再进行文件分解等其他附加操作处理。 10)为了保证传输数据的安全,产品必须支持传输数据的自动加解密处理。

达梦数据库性能测试软件操作

(1)创建用户benchmarksql/123456789,并开通权限。 (2)./runSQL.sh props.dm sqlTableCreates (3)./runLoader.sh props.dm numWAREHOUSES 10 (4)disql执行sqlSequenceCreate.sql,在数据库管理工具中执行。 (5)./runBenchmark.sh props.dm 备注:编辑props.dm, driver=dm.jdbc.driver.DmDriver conn=jdbc:dm://localhost:5236 user=benchmarksql password=123456789 warehouses=100 terminals=20 //To run specified transactions per terminal- runMins must equal zero runTxnsPerTerminal=0 //To run for specified minutes- runTxnsPerTerminal must equal zero runMins=60 //Number of total transactions per minute limitTxnsPerMin=0 //The following five values must add up to 100 //The default percentages of 45, 43, 4, 4 & 4 match the TPC-C spec newOrderWeight=45 paymentWeight=43 orderStatusWeight=4 deliveryWeight=4 stockLevelWeight=4 warehouses 是仓库建立库,增加内容,服务器一般可以建立100个。 Terminals是终端并发数量,服务器一般是建立20个。 Runmins是运行时间,服务器一般设置2小时。 Measured tpmc是测量每分钟tpmc即tpcc每分钟的吞吐量。按有效tpcc配置期间每分钟处理的平均交易次数测量。单位是tpmc,每分钟系统处理的新订单个数。

达梦数据库DM8集群代理使用手册-D

DM8 集群代理使用手册Service manual of DM8_DCP

前言 概述 本文档主要介绍DM 集群代理的架构、提供的功能、以及如何搭建和使用DM 集群代理。读者对象 本文档主要适用于DM 数据库的: ●开发工程师 ●测试工程师 ●技术支持工程师 ●数据库管理员 通用约定 在本文档中可能出现下列标志,它们所代表的含义如下: 表0.1 标志含义

在本文档中可能出现下列格式,它们所代表的含义如下: 表0.2 格式含义

目录 1DM8 集群代理简介 (1) 2体系架构 (2) 3功能模块管理 (3) 3.1集群配置 (3) 3.2代理管理 (4) 3.3连接池 (5) 3.4登录管理 (5) 3.5语句请求管理 (5) 4接口管理 (6) 4.1添加MPP 站点信息 (6) 4.2清除MPP 站点信息 (6) 4.3设置用户名和密码信息 (6) 4.4获取MPP 配置信息 (6) 4.5手动释放DCP 连接缓存 (7) 5动态视图管理 (8) 5.1V$SESSIONS (8) 5.2V$SYSSTAT (8) 5.3V$DCPINSTS (8) 5.4V$DCP_CONNPOOL (9) 6典型案例 (10) 6.1经典情景一:普通MPP 环境 (10) 6.2经典情景二:MPP 主备环境 (14) 6.3经典情景三:多个DCP 同时提供服务 (32)

1DM 集群代理简介 DM 集群代理(DM CLUSTER PROXY,简称DCP)是达梦数据库公司为其大规模并行处理集群DM MPP 研发的一款具有高效、智能、安全特性的集群代理服务器产品。 DM MPP 是达梦公司研发推出的完全对等无共享式集群,支持多个DM 节点。DM MPP 系统工作起来就像是一台单独的计算机,对外提供统一数据库服务。用户可连接DM MPP 系统内任意一个EP 节点进行数据操作。 DCP 是存在于应用和DM MPP 之间的一个组件。DCP 并不是一个必要组件。但是,用户使用DCP 后,可以大幅提高数据库的使用效率和系统的安全性。具体受益如下: 表1.1 使用DCP 的益处 目前版本的DCP 在使用上存在以下限制: ●不支持通讯加密 ●不支持快速装载工具 ●语句提交后,不支持再次获取结果集 ●DCP 配置仅支持一套MPP 环境

住房和城乡建设信息管理平台项目项目需求调研计划

河北省住建厅 住房和城乡建设信息管理平台项目 需求调研计划 武汉达梦数据库有限公司 2015年8月

1调研目的 在河北省住建厅住房和城乡建设信息管理平台项目建设的前期阶段,武汉达梦数据库有限公司需要进行一系列简要的调研,来确定项目实施的目标。其目的是为了论证数据交换平台项目可行性的需要,所制定的实施计划是一个比较粗略的计划,对工期和资源的估算只是一些预估;在实施阶段,需要重新进行调研,以澄清所有的客户业务细节,并进行业务规则与系统的匹配。调研结束之后,可以得到用以指导实施的需求规格说明书文档。 2调研的范围 2.1调研的职能范围 根据项目招标文件、合同等所确定的项目实施范围,本次调研所涉及的职能部门以及项目组成员有: 河北省住建厅信息中心主任、科长、技术人员和各类管理、维护人员;河北省住建厅建筑市场相关的业务部门的领导、主管、具体的业务办理人员、业务系统的运维人员;河北住建厅内部业务系统开发商的运维人员、接口人员。 2.2调研的业务范围 调研的业务范围:调研时按照招标文件、合同等规定范围开展调研。具体包括: 1.系统整体调研,包括整体范围和要求,组织架构,接口人等。 2.建筑市场相关的数据资源调研。 包括纵向和横向整合全省的建筑企业数据、注册人员数据、房地产和市政工程项目数据、诚信信息数据、行政审批数据、招投标相关数据、 施工许可数据、安全监督数据、质量监督数据、农民工工资预储金管理、 房地产开发项目预售等数据。收集每类数据的结构、来源等信息。 3.非结构化数据调研。包括非结构化文档数据分类,存储形式等。

4.数据分析调研。包括:各类数据分析、统计需求,报表的展现形式,以 及一些数据专题的需求了解。 5.数据质量管理调研。包括:数据质量管理流程调研,质量报表内容的调 研。 6.资源目录管理调研。包括:资源的类别,资源目录的分类层级,资源的 访问权限,资源的管理模式,资源的使用模式等。 7.数据资源共享调研,包括:数据对外共享的方式,接口需求。 8.数据门户平台,包括:门户的内容,栏目,版面等。 9.其他的一些技术方面的需求调研,比如网络、软、硬件等部署环境,中 间件,其他一些技术性需求。 2.3调研的地点范围 调研的地点范围:河北省住建厅。 3调研的方式 项目调研采用的主要方式有以下几种,具体调研时,会根据实际情况灵活采用: 1.收集客户相关的文档资料,可以从客户的业务系统及文档,包括:操作 手册,数据字典,需求文档等;用户工作报表、行业规范、网页、宣传 手册等获取,也可以直接要求客户方提供。 2.问卷调查,事先准备好问卷表,发给相关业务部门,由相关人员填写后 收回。 3.个别交流,就某一具体问题或业务处理和相关业务人员直接交流。 4.开会讨论,对跨部门、跨岗位的业务,可以把相关人员召集在一起,了 解这些业务的真实情况。

干货分享之达梦数据库汉字存储知多少

达梦数据库汉字存储知多少 1、前言 当我们在DM7中处理汉字的时候,经常会用到varchar的数据类型。但是,根据数据库初始化时的参数不同,varchar中能存储的汉字的个数也不尽相同。那么在每种情况下,字符的存储有什么区别呢?本文就将带大家一探究竟 2、参数简介 在使用DMINIT初始化数据库的时候,我们有以下这两个跟字符集有关的参数,UNICODE_FLAG和LENGTH_IN_CHAR。 UNICODE_FALG:此参数表示了数据库中所有数据的字符集,包括数据字典的字符集。需要注意的是,数据库一旦初始化完成,字符集就将无法修改。我们可以使用select unicode来查询当前数据库的字符集种类,0代表 gb18030,1代表UTF-8。 LENGTH_IN_CHAR:此参数决定了,数据库中的VARCHAR类型对象的长度是否以字符为单位。取值为1则设置为以字符为单位,将存储长度值按照理论字符长度进行放大。取值为0则所有 VARCHAR 类型对象的长度以字节为单位。 同样,如果我们采用DBCA助手来创建数据库,也可以在初始化参数那一步来修改这两个参数的值。

3、测试 根据Unicode和length_in_char的取值不同(0或1),我们总共初始化四个不同的数据库,针对不同的情况进行测试。 本文演示环境: DM Database Server x64 V7.1.6.48-Build(2018.03.01-89507)ENT 3.1、UNICODE_FLAG=0,LENGTH_IN_CHAR=0 根这种情况是初始化数据库时的默认配置,即字符集为gb18030,varchar 长度以字节为单位。相关测试如下 SQL> create table test(name varchar(3)); 操作已执行 SQL> insert into test values('测'); 影响行数 1 SQL> insert into test values('测a'); 影响行数 1 SQL> insert into test values('测试'); [-6169]:列[NAME]长度超出定义. 我们知道,gb18030下一个汉字或者全角字符一般需要占用两个字节。所以varchar(3)型可以插入一个汉字加上一个半角字符,但是无法插入两个汉字。 3.2、UNICODE_FLAG=1,LENGTH_IN_CHAR=0 字符集为utf-8,varchar长度以字节为单位,相关测试如下: SQL> create table test(name varchar(3)); 操作已执行 SQL> insert into test values('测'); 影响行数 1 SQL> insert into test values('测试');

达梦数据库审计设置

达梦数据库审计设置 普通版和安全版的区别:安全版本在普通版本的基础上,还提供“四权分立”安全机制和强制访问控制安全管理功能。 1、用户识别与标记 PRIV_FLAG:启用四权分立。仅在安全版本下可见和可设置。四权分立新增数据库对象操作员账户 SYSDBO,其缺省口令为 SYSDBO SYSSSO用户可以制定安全策略,创建安全标记。 口令策略: PWD_POLICY: 0 无策略 1 禁止与用户名相同 2 口令长度不小于 9 4 至少包含一个大写字母(A-Z) 8 至少包含一个数字(0-9) 16 至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号) 设置密码策略:SP_SET_PARA_VALUE(1, 'PWD_POLICY',8); 禁用角色:SP_SET_ROLE('BOOKSHOP_ROLE1', 0); 2、审计 2.1、审计级别说明 DM 允许在三个级别上进行审计设置: 系统级:系统的启动与关闭,此级别的审计无法也无需由用户进行设置,只要审计开关打开就会自动生成对应审计记录 语句级:导致影响特定类型数据库对象的特殊SQL或语句组的审计。如 AUDIT TABLE 将审计 CREATE TABLE、ALTER TABLE 和 DROP TABLE 等语句 对象级:审计作用在特殊对象上的语句。如 test 表上的 INSERT 语句 2.2、审计开关 审计开关由 DM 的 INI 参数 ENABLE_AUDIT 控制,有三种取值: 0:关闭审计 1:打开普通审计 2:打开普通审计和实时审计 通过系统过程 SP_SET_PARA_VALUE 重新设置 ENABLE_AUDIT 的值,ENABLE_AUDIT 为动态 INI 参数:SP_SET_PARA_VALUE (1,’ENABLE_AUDIT’,1) 开启审计: SELECT * FROM V$PARAMETER WHERE NAME=’ENABLE_AUDIT’;

达梦数据交换平台产品白皮书.

达梦数据交换平台 ——高效全面的数据集成平台 产 品 白 皮 书 达梦数据库有限公司 2013年3月 本文档含有达梦数据库公司的保密的技术和商业信息未经达梦数据库公司的书面同意,不得进行拷贝、复印或者以其它任何形式向第三方散发。 我们尽力保证本文档中信息的准确和完整,但是仍然可能出现技术或者文字描述的错误,如果因使用本文档造成的损失,达梦概不负责。 本文档中包含的信息可能会随时更改,恕不另行通知。 本文档发布于2013年3月 绪论 近几十年来,信息化的推进和计算机网络的飞速发展,使得人类社会所积累的数据量已经超过了过去5000年的总和,数据的采集、存储、处理和传播的数量也与日俱增。然而,这些为不同应用服务的数据都存储在许多不同的数据源之中。为更有效地利用这些信息,实现企业或社会组织数据共享与交换,减少数据采集的重复劳动和相应费用,需要从多个分布、异构和自治的数据源中集成数据,同时还需要保持数

据在不同系统上的完整性和一致性。因此,如何对数据进行有效的集成已成为增强企业商业竞争力的必然选择,尤其是对于那些拥有多部门多数据源的大型企业或者组织来说,每一个部门都拥有自己的数据库,这些数据库可能是独立、异构且自治的,为了各部门间更好的合作和数据共享,建立一个完善的数据交换和集成系统是极有应用价值而且尤为重要的。 产品介绍 达梦数据交换平台是达梦数据库有限公司在上十年数据处理经验的基础上,研制开发的具有自主版权的、商品化的数据交换与处理平台。达梦数据交换平台创新地将传统的ETL工具(Extract、Transform、Loading与分布式消息平台相结合,实现了对数据抽取、传输、整合、以及装载的一站式支持,是构建数据中心、数据仓库、数据交换和数据同步等数据集成类应用的理想平台,同时也可以作为数据加工处理工具由业务人员直接使用。 1功能组件 达梦数据交换平台由以下5个软件组件构成: 达梦数据集成服务器 DMETL Server DMETL Server是一个具备数据抽取(Extract、清洗转换(Transform和装载(Load 功能的通用的数据处理平台,能够为异构数据同步和数据整合应用提供完整的支持。 ◆达梦数据交换设计器 DMETL Studio DMETL Studio 提供可视化的管理、流程设计、调试功能。

ROWNUM在达梦数据库中的使用

ROWNUM在达梦数据库中的使用 ROWNUM 是一个虚假的列,表示从表中查询的行号,或者连接查询的结果集行数。它将被分配为1,2,3,4,..N,N 是行的数量。通过使用ROWNUM ,我们可以限制查询返回的行数。 我们以实例库BOOKSHOP中RESOURCES模式下EMPLOYEE表为例 该表的完整数据如下: 如果我们只想看到前5 行数据,可以这样写 SELECT * FROM RESOURCES.EMPLOYEE WHERE rownum < 6; 需要注意的是,一个ROWNUM 值不是被永久的分配给一行。表中的某一行并没有标号,不可以查询ROWNUM 值为5 的行。ROWNUM 值只有当被分配之后才会增长,并且初始值为1。即只有满足一行后,ROWNUM 值才会加1,否则只会维持原值不变。因此,以下语句在任何时候都不能返回数据。 SELECT * FROM RESOURCES.EMPLOYEE WHERE ROWNUM > 6; SELECT * FROM RESOURCES.EMPLOYEE WHERE ROWNUM = 6;

ROWNUM 一个重要作用是控制返回结果集的规模,可以避免查询在磁盘中排序。因为,ROWNUM 值的分配是在查询的谓词解析之后,任何排序和聚合之前进行的。因此,在排序和聚合使用ROWNUM 时需要注意,可能得到并非预期的结果,例如假如我们想得到员工年龄最大的五个人 SELECT * FROM RESOURCES.EMPLOYEE WHERE ROWNUM < 6 ORDER BY BIRTHDATE; 以上语句只会对EMPLOYEE 表前5 行数据按BIRTHDATE排序输出,并不是表的所有数据按BIRTHDATE 排序后输出前5行,要实现后者,需要使用如下语句: SELECT * FROM (SELECT * FROM RESOURCES.EMPLOYEE ORDER BY BIRTHDATE) WHERE ROWNUM < 6;或者 SELECT TOP 5 * FROM RESOURCES.EMPLOYEE ORDER BY BIRTHDATE; 结果如下: 关于ROWNUM的使用,还需注意以下的限制: 1.在查询中,ROWNUM 可与任何数字类型表达式进行比较及运算,但不能出现在含OR 的布尔表达式中,否则报错处理; 2.ROWNUM 只能在非相关子查询中出现,不能在相关子查询中使用,否则报错处理;

达梦数据库

达梦数据库 DM7总体框架 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM。达梦数据库管理系统7.0版本,简称DM7。 DM7基于成熟的关系数据模型和标准的接口,是一个跨越多种软硬件平台、具有大数据管理与分析能力、高效稳定的数据库管理系统。

产品特点 高性能 ●支持“大数据”应用,采用DM Vertical和DM HFS双列存储引擎、粗粒度智能索引、 并行查询、多级数据分区、物化视图、分析函数、位图连接索引等先进技术,满足海量数据联机分析处理(OLAP)需求,支持多机多核智能双向并行加载,客户端数据智能分发 ●采用智能高压缩技术,压缩比可达1:20,能显著减少存储开销,从而帮助客户大幅减 少数据库整体投入成本 高可用 ●可配置数据守护系统(主备),自动快速故障恢复,具有强大的容灾处理能力 跨平台 ●跨平台,支持主流软硬件体系、支持主流标准接口 高可扩展 支持拓展软件包和多种工具,实现海量数据分析处理、共享数据库集群(RAC)和无共享数据库集群(MPP)等扩展功能TB/PB级数据分析秒级响应 低投入 基于高端服务器或普通服务器搭建,支持异构系统,超高性价比 简便易用 易于实施和管理,只需要传统数据库 1/10 的管理成本,与主要商业智能工具兼容

DM7层次 可以看出,在DM7中存储的层次结构如下: 1. 系统由一个或多个表空间组成; 2. 每个表空间由一个或多个数据文件组成; 3. 每个数据文件由一个或多个簇组成; 4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件; 5. 簇由磁盘上连续的块组成,一个簇总是在一个数据文件中; 6. 块是数据库中最小的分配单元,也是数据库中使用的最小的IO单元。 与Oracle的表空间 --> 数据文件 --> 段 --> 区 --> 块类似 DM7列存储表 列存储表是相对普通的行存储表而言的,它们主要的不同在于列存储表的每一个列都是存储在一起的,而不是以记录为单位存储,所有行的同一列存储在一起。

达梦数据库中集合类型的使用(下)

达梦数据库中集合类型的使用(下) 在上周的分享中,我们介绍了集合类型中的变长数组和索引表,今天我们讲一讲剩下的几种跟集合有关的数据类型。 三.嵌套表 嵌套表和varray类型用法类似,主要区别在于嵌套表在使用时不用指定元素上限。 这里我们采用结合游标制造一个比较复杂的例子,我们先采用一个游标ename_cursor来存储job_id为21的员工姓名信息,然后通过遍历游标把对应的员工姓名存储到嵌套表中,相关代码如下:DECLARE --下面这句是嵌套表的声明,可以看到这里并不用指定元素上限 TYPE ename_array_type is table of dmhr.employee.employee_name%TYPE; --定义一个游标 CURSOR ename_cursor is select employee_name from dmhr.employee where job_id=21; --初始化嵌套表,此时嵌套表为空 ename_array ename_array_type:=ename_array_type(); --初始化嵌套表

i number:=0; BEGIN for ename in ename_cursor loop i:=i+1; --执行extend函数,为数组增加一个null元素ename_array.EXTEND; ename_array(i):=ename.employee_name; print(ename.employee_name); end loop; --注意嵌套表下标是从1开始的,而不是0 for j in1..ename_array.count()loop print(ename_array(j)); end loop; END; / 执行结果如下,篇幅关系并没有截全。

连接达梦数据库配置文件修改步骤

连接达梦数据库配置文件修改步骤 1、安装EGS JAVA 2、替换SuperMapEGSJava1.0\SuperMapEGService文件夹下的几个文件 Images文件夹、META-INF文件夹、WEB-INF文件夹、index.jsp文件 3、修改SuperMapEGSJava1.0\SuperMapEGService\WEB-INF-\classes文件夹下的 hibernate.cfg.xml文件(以记事本方式打开),主要修改以下部分内容 jdbc:dm:// 192.168.116.30(数据库服务器ip):5236(数据库的端口号)/DAMENG(数据库名) dm.jdbc.driver.DmDriver 用户名 密码

org.hibernate.dialect.DmDialect 在hibernate配置文件hibernate.cfg.xml中添加模式名限定,模式名(在达梦数据库中一般与用户名相同)。 4、按照联机帮助里的手动部署配置serverUrl.properties 文件和config.xml文件 1)serverUrl.properties 文件(在目录SuperMapEGService\WEB-INF\classes 下) 将ServerUrl改成相应的服务地址.例 如:ServerUrl=http://{ip}:8099/SuperMapEGService/ 注意:此处ip为标绘服务所在机器的ip

达梦数据交换平台产品白皮书

达梦数据交换平台 ——高效全面的数据集成应用的支撑平台 产 品 白 皮 书

达梦数据库有限公司2013年3月

本文档含有达梦数据库公司的保密的技术和商业信息未经达梦数据库公司的书面同意,不得进行拷贝、复印或者以其它任何形式向第三方散发。 我们尽力保证本文档中信息的准确和完整,但是仍然可能出现技术或者文字描述的错误,如果因使用本文档造成的损失,达梦概不负责。 本文档中包含的信息可能会随时更改,恕不另行通知。

绪论 近几十年来,信息化的推进和计算机网络的飞速发展,使得人类社会所积累的数据量已经超过了过去5000年的总和,数据的采集、存储、处理和传播的数量也与日俱增。然而,这些为不同应用服务的数据都存储在许多不同的数据源之中。为更有效地利用这些信息,实现企业或社会组织数据共享与交换,减少数据采集的重复劳动和相应费用,需要从多个分布、异构和自治的数据源中集成数据,同时还需要保持数据在不同系统上的完整性和一致性。因此,如何对数据进行有效的集成已成为增强企业商业竞争力的必然选择,尤其是对于那些拥有多部门多数据源的大型企业或者组织来说,每一个部门都拥有自己的数据库,这些数据库可能是独立、异构且自治的,为了各部门间更好的合作和数据共享,建立一个完善的数据交换和集成系统是极有应用价值而且尤为重要的。 产品介绍 达梦数据交换平台是达梦数据库有限公司在上十年数据处理经验的基础上,研制开发的具有自主版权的、商品化的数据交换与处理平台。达梦数据交换平台创新地将传统的ETL工具(Extract、Transform、Loading)与分布式消息平台相结合,实现了对数据抽取、传输、整合、以及装载的一站式支持,是构建数据中心、数据仓库、数据交换和数据同步等数据集成类应用的理想平台,同时也可以作为数据加工处理工具由业务人员直接使用。

达梦数据库系统存储过程介绍

达梦数据库系统存储过程介绍 DM是达梦数据库有限公司推出的新一代高性能、高安全性的数据库产品。它具有开放的、可扩展的体系结构,高性能事务处理能力,以及低廉的维护成本。现在长沙做网站工作室对达梦数据库系统存储过程介绍。SQL语句执行的时候要先编译,然后执行。存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是现代数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。 存储过程是利用数据库系统所提供的Tranact-SQL语言所编写的程序。Tranact-SQL语言是数据库系统提供专为设计数据库应用程序的语言,它是应用程序和数据库间的主要程序式设计界面。这类语言主要提供以下功能,让用户可以设计出符合引用需求的程序: 1. 变量说明; 2. ANSI兼容的SQL命令(如SELECT、UPDATE………); 3. 一般流程控制命令(IF…ELSE;WHILE………); 4. 内部函数。 使用存储过程具有以下的一些优点: 1. 存储过程的能力大大增强了SQL语言的功能和灵活性。sql语句中的日期运算等一系统运算灵活性增强。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 2. 可保证数据的安全性和完整性。 (1) 通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全; (2) 通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。 3. 在运行存储过程前,数据库已对其进行了语法和句法分析,并给出了优化执行方案。这种已经编译好的过程可极大地改善SQL语句的性能。由于执行SQL语句的大部分工作已经完成,所以存储过程能以极快的速度执行。湘龙工作室以前对电信客户的一个网站就采用了达梦数据库,使得其速度极快,同时又是国内自主的数据库,保护了国内的知识产权。 4. 可以降低网络的通信量。 5. 使体现企业规则的运算程序放入数据库服务器中,以便: (1) 集中控制; (2) 当企业规则发生变化时在服务器中改变存储过程即可,无须修改任何应用程序。企业规则的特点是要经常变化,如果把体现企业规则的运算程序放入应用程序中,则当企业规则发生变化时,就需要修改应用程序工作量非常之大(修改、发行和安装应用程序)。如果

相关文档
最新文档