Skip to main content

配置数据库

info

目前支持的数据库:SQLServer、Oracle、DB2、MySQL、H2、Postgresql、DM达梦、GBase南大通用

img

1. 数据库设置

1.1 方法一:管理控制台设置

(1)首次启动设置数据库

首次,启动应用服务器时,在管理控制台向导中,可设置本服务使用的数据库类型,设置具体数据库。

具体操作,可以参考 v-appserver--软件应用服务器

(2)启动后修改数据库

服务初始化之后,可以在管理控制台中修改数据库类型。

访问地址:IP:端口/system/console ——使用登录服务的 vstore 账号和密码登录

1.2 方法二:修改配置文件设置

对数据库配置文件进行修改,可切换数据库类型(默认为H2数据库)

注:应用设计器内嵌服务(一体化服务)不支持修改数据库。

(1)打开数据库配置文件

文件目录:..\V3Runtime\userdata\conf\preferences\com.toone.v3.platform-09jdbc\DbCfg\itop\config.xml

(2)修改数据库配置

打开配置文件,根据数据库类型,参考如下修改。以下列信息为例:

数据库配置配置值
数据库IP10.1.26.186
数据库名称v3test
用户名sa
密码ydg
<property key="driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property key="url">jdbc.jtds:sqlserver://10.1.26.186:1433/v3test;prepareSQL=1</property>
<property key="username">sa</property>
<property key="password">ydg</property>
<property key="dialect">org.hibernate.dialect.SQLServerDialect</property>

2. 数据库内存设置建议

建议数据库内存设置建议给服务器操作系统预留 3G 内存,去除其他程序使用后,剩余的内存可以都分配给数据库服务器(一般来说数据库 8G 内存就足够了)。

例如:服务器有16G 内存,其他程序使用 6G,那数据库就分配 6G 左右。

2.1 SQL Server 内存设置

具体设置如下(下面以 SQLServer 2008R2 为例,其他版本设置大同小异)。

打开 sqlserver management studio,右键点击服务 “属性” 打开编辑。

img

在弹出的对话框中选择内存项,设置最大内存项如 6000MB,即 6G。

img

2.2 Oracle 内存设置

以数据库 dba 角色登录进相应的数据库实例,运行命令修改:

alter system set memory_max_target =6000M scope=spfile;
alter system set memory_target = 6000M scope=spfile;

重启数据库生效。

3. 数据库字符集设置建议

建议 SQLServer 使用缺省的字符集,其他数据库使用 utf-8 字符集,该设置需要在建立新库的时候就设置好,如果已有数据库修改则需要通过备份恢复才能保证修改成功。

3.1 Oracle 10 g 以上字符集设置

对应字符集 AL32UTF8 。

修改字符集,dba 登录执行命令:

alter database character set AL32UTF8;

重启生效。

3.2 MySQL 字符集设置

(1)新建数据库

选择对应字符集:

utf8_general_ci

(2)修改已有数据库

① 修改缺省字符集,该命令只针对新表,dba 登录执行命令:

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

这里的 db_nam 为数据库名。

② 修改已有表的的字符集:

ALTER TABLE tablename DEFAULT CHARACTER  SET utf8 COLLATE utf8_general_ci;

这里的 table_name 为表名。

③ 重启生效。

4. 使用 MySQL 数据库注意事项

(1)MySQL 数据库要求设置为大小写不敏感,需要用户手动操作,请在新建数据库后,启动服务前完成

  • Linux下mysql安装完后是默认:区分表名的大小写(大小写敏感),不区分列名的大小写。
  • 用root帐号登录后,在/etc/my.cnf 中的[mysqld]后添加。
lower_case_table_names=1
  • 重启MYSQL服务,这时已设置成功:不区分表名的大小写。
参数值描述
lower_case_table_names0或10:区分大小写,1:不区分大小写

(2)修改表的字段索引长度限制

MySQL 数据库版本大于等于 5.6.3,小于 8.0 时需要执行命令:

set global innodb_file_format=barracuda;set global innodb_large_prefix=ON;

5. 使用 达梦 数据库注意事项

安装 达梦数据库 新建实例的时候注意选择字符集为UTF-8和大小写不敏感,并且安装后需要修改 数据库服务实例目录 /dm.INI 文件中的 EXCLUDE_RESERVED_WORDS 参数,增加 CONTEXT ,然后重启生效

img

img

如何查询字符集

数据库执行以下语句:

select UNICODE(); 

0表示GB18030,1表示UTF-8,2代表韩文字符集ENU-KR,默认为0。