1、各数据库综合应用各数据库综合应用1 概述本文档讲述常用五类数据库的创建与配置,以及用户的创建使用。并针对各类数据库的共同知识点进行了讲解。2 数据库配置前提条件:完成数据库(目前支持五种:Oracle 企业版数据库9.2、IBM DB2通用数据库v8.1.6、Microsoft SQL Server 2000、MySQL 4和Sybase 12.5) 的安装然后按对应的数据库类型执行下列步骤。2.1 Oracle2.1.1 创建表空间从开始程序菜单运行Oracle管理工具Enterprise Manager Console,登录Enterprise Manager Console,选中指定数据
2、库“存储”“表空间”,然后点击右键,选择“创建”。将弹出“创建表空间”窗口在“一般信息”页中,“名称”栏输入要创建的表空间名字,比如CADATA,“数据文件”的“文件名”输入cadata01.dbf(也可接受其根据名称自动生成的),“文件目录”可按默认或按需输入已存在的另外目录,大小可设为200MB。双击文件名将弹出“创建数据文件”窗口,选中“存储”页面,勾上“数据文件已满后自动扩展(AUTOEXTEND)”,在“增量”栏输入100MB。点击确定退出创建数据文件窗口,再点击创建以创建此表空间,完成此步骤。或可从命令行操作。运行sqlplus以system用户登录目标数据库,再执行类似下列SQL
3、语句来创建此表空间(按具体环境修改下列语句中的路径,如果有必要也还可修改其它参数):CREATE TABLESPACE CADATA LOGGING DATAFILE D:ORACLEORADATACAcadata01.dbf SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.1.2 创建用户在Oracle管理工具Enterprise Manager Console中选中目标数据库“安全性”“用户”,然后点击右键,选择“创建”。将
4、弹出“创建用户”窗口。在“一般信息”页,“名称”栏中输入要创建的用户名,比如CA,在“输入口令”栏和“确认口令”栏输入相同字符串用于新建用户的口令。在表空间的“默认值”栏中选择前面创建的CADATA。在“角色”页,从“可用”中选中“DBA”加入到“已授予”栏。点击创建,完成此步骤。或者可从命令行方式操作。运行sqlplus以system用户登录目标数据库,再执行类似下列SQL语句来创建此用户并授权:CREATE USER ca IDENTIFIED BY ca DEFAULT TABLESPACE CADATA DEFAULT TEMPORARY TABLESPACE TEMP;GRANT C
5、ONNECT,RESOURCE TO ca;此用户ca将用于创建IDA应用相关的表、索引等对象。此用户名和口令将存放到配置文件中,以便下一步的初始化IDA应用系统。2.1.3 其它表空间设置(可选)登录Oracle管理工具Enterprise Manager Console,选中指定数据库-“存储”“表空间”,右边将列出全部表空间,双击“名称”为SYSTEM的表空间,将弹出“编辑表空间”窗口,再双击“数据文件”的“文件名”,将弹出“编辑数据文件”窗口,选中“存储”页面,勾上“数据文件已满后自动扩展(AUTOEXTEND)”,在“增量”栏输入10MB。如果已勾上“数据文件已满后自动扩展(AUTO
6、EXTEND)”,则可不用修改。同样按此方法对“类型”为“UNDO”和“TEMPORARY”的表空间设置“数据文件已满后自动扩展”。2.2 DB22.2.1 创建数据库从开始程序菜单运行IBM DB2一般管理工具控制中心。选中“控制中心”“所有已编目的系统”本机名“实例”“DB2”“数据库”,点击右键,选择“创建”“使用向导创建数据库”,将转到创建数据库向导中。在第一步,“名称”页中,在数据库名中输入要创建的数据库名,比如CA。点击下一步,接受默认选项,点击下一步,直到6.区域,选择代码集UTF-8。最后在“总结”页面点击“完成”。在完成后选择不运行顾问向导。2.2.2 创建缓冲池选中“控制中
7、心”“所有已编目的系统”本机名“实例”“DB2”“数据库”CA“缓冲池”,点击右键,点击“创建”,将弹出“创建缓冲池”窗口。在“缓冲池名”栏输入要创建的缓冲池名字,比如CACACHE,“页大小”选择“16K”,“以16K页计的大小”输入4000。2.2.3 创建表空间2.2.3.1 常规表空间选中“控制中心”“所有已编目的系统”本机名“实例”“DB2”“数据库”CA“表空间”,点击右键,点击“创建”,将弹出“创建表空间”窗口。在“名称”页的“表空间名”栏输入要创建的表空间名,比如CADATA。在“类型”页选择“常规”。在“缓冲池”页从“缓冲池”列表中选择CACACHE缓冲池。在“空间管理”页中
8、选择“数据库管理的空间”。在“容器”页点击“添加”,在弹出的“定义容器”窗口中,选中“文件”,选择“驱动器”,从“目录”里选择到将存放数据文件的指定目录,在“容器”栏输入要创建的文件名,比如cadata.dbf,在“大小”中输入1000(单位选MB)(可以根据需要设置更大或更小的空间,如果选择的是“系统管理的空间”则不需设定大小,它自动会利用此驱动器下所有可用空间),点击确定,点击完成。2.2.3.2 系统临时表空间选中“控制中心”“所有已编目的系统”本机名“实例”“DB2”“数据库”CA“表空间”,点击右键,点击“创建”,将弹出“创建表空间”窗口。在“名称”页的“表空间名”栏输入要创建的表空
9、间名,比如CATEMP。在“类型”页选择“系统临时”。在“缓冲池”页从“缓冲池”列表中选择CACACHE缓冲池。在“空间管理”页中选择“系统管理的空间”。在“容器”页点击“添加”,在弹出的“定义容器”窗口中,选中“文件”,选择“驱动器”,从“目录”里选择到将存放数据文件的指定目录,在“容器”栏输入要创建的目录,比如CATEMP,点击确定,点击完成。2.2.4 创建OS用户从开始菜单运行“设置”“控制面板”“管理工具”“计算机管理”,在计算机管理本地用户和组用户,点击右键,选择“新用户”,将弹出“新用户”窗口。在“用户名”栏输入要创建的用户名,比如CA;在“密码”栏和“确认密码”栏输入相同密码;
10、属性“用户下次登录时须更改密码”等按需选择。点击创建。2.2.5 创建数据库用户选中“控制中心”“所有已编目的系统”本机名“实例”“DB2”“数据库”CA“用户和组对象”“DB用户”,点击右键,点击“添加”,将弹出“添加用户”窗口。在“数据库”页选中前面创建的OS用户CA;把权限全部选中。在“表空间”页点击“添加表空间”,从“表空间列表”中选择CADATA,点击确定,从“表空间”中选中CADATA,从“特权USE”中选择“是”。点击确定。2.3 MySQL2.3.1 创建数据库从命令行以root用户登录:mysql u root如果ca数据库已存在则先删除:mysqldrop database
11、 if exists ca;创建ca数据库:mysqlcreate database ca;2.3.2 创建用户如果用户已存在可先删除:mysqlrevoke all privileges on *.* from ca;mysqlrevoke grant option on *.* from ca;mysqldelete from mysql.user where user=ca;mysqlflush privileges;创建用户并授权:mysql grant all on ca.* to ca identified by capassword;其中capassword用自己确定的口令来代替
12、。此用户ca将用于创建IDA应用相关的表、索引等对象。此用户名和口令将存放到配置文件中,以便下一步的初始化IDA应用系统。2.4 MSSQL2.4.1 创建数据库从开始程序菜单运行Microsoft SQL Server 2000企业管理器。选中“控制台根目录”“Microsoft SQL Servers”“SQL Server组”“(local)(Windows NT)”“数据库”,点击右键,选择“新建数据库”,将弹出“数据库属性”窗口。在“常规”页中,在“名称”栏中输入要创建的数据库名,比如CA。点击确定。2.4.2 创建数据库用户在企业管理器中,选中“控制台根目录”“Microsoft
13、SQL Servers”“SQL Server组”“(local)(Windows NT)”“安全性”“登录”,点击右键,选择“新建登录”,将弹出“SQL Server登录属性新建登录”窗口。在“登录”页中“名称”栏选择或输入“ca”;身份验证选择“SQL Server身份验证”,输入密码;“默认设置”的“数据库”项选择CA。在“数据库角色”页,选中全部服务器角色。在“数据库访问”页的“许可”栏中选中CA数据库,并选中全部的“数据库角色”。点击确定。2.5 Sybase2.5.1 创建数据库从开始程序菜单运行SybaseSybase Central Java Edition。以sa用户身份登录
14、,选中“Databases”,从详细信息栏点击“Add Database”,将弹出“Add Database”窗口。在第一页中,输入要创建的数据库名称,比如CA。点击确定。2.5.2 创建数据库用户在“Sybase Central”中,选中“Logins”,从详细信息栏点击“Add Login”,将弹出“Add Login”窗口。在第一页输入要创建的用户名,比如ca和至少六个字符的口令。在第二页选择默认登录数据库为ca。在第三页点击“select all”。点击完成。选中“Logins”,双击右边用户ca,弹出ca用户的属性,在“Roles”页,点击“Add”,添加“sa_role”角色,点击
15、确定。点击确定完成此授权。3 数据库连接配置数据库连接信息在安装目录下的configinit.xml文件中的项中配置。在完成系统初始化工作后,如果数据库信息发生变化可在configCAConfig.xml文件中配置。3.1 完整示例3.1.1 Oracle数据库: jdbc:oracle:thin:192.168.9.162:1521:jitdb oracle.jdbc.driver.OracleDriver jitida jitida 20 3.1.2 DB2数据库: jdbc:db2:/192.168.9.162:50000/jitdb com.ibm.db2.jcc.DB2Driver
16、jitida jitida 20 3.1.3 MySQL数据库: jdbc:mysql:/192.168.9.162:3306/jitdb?useUnicode=true&characterEncoding=gbk com.mysql.jdbc.Driver jitida jitida 20 3.1.4 MSSQL数据库: jdbc:microsoft:sqlserver:/192.168.9.162:1433;DatabaseName=jitdb;SelectMethod=cursor com.microsoft.jdbc.sqlserver.SQLServerDriver jiti
17、da jitida 20 3.1.5 Sybase数据库: jdbc:sybase:Tds:192.168.9.162:5000/jitdb?charset=eucgb com.sybase.jdbc2.jdbc.SybDriver jitida jitida 20 3.2 参数说明3.2.1 说明:数据库连接用的URL包括连接数据库的连接方式(JDBC)、数据库服务器的地址、数据库名称举例:Oracle数据库: jdbc:oracle:thin:192.168.9.162:1521:jitdb192.168.9.162 Oracle数据库所在主机的地址1521 Oracle服务器的监听端口地
18、址jitdb Oracle数据库服务名DB2数据库: jdbc:db2:/192.168.9.162:50000/jitdb192.168.9.162 DB2数据库所在主机的地址50000 DB2服务器的监听端口地址jitdb DB2数据库名称MySQL数据库: jdbc:mysql:/192.168.9.162:3306/jitdb?useUnicode=true&characterEncoding=gbk192.168.9.162 MySQL数据库所在主机的地址3306 MySQL服务器的监听端口地址jitdb MySQL数据库名称MSSQL数据库: jdbc:microsoft:
19、sqlserver:/192.168.9.162:1433;DatabaseName=jitdb;SelectMethod=cursor192.168.9.162 MSSQL数据库所在主机的地址1433 MSSQL服务器的监听端口地址jitdb MSSQL数据库名称Sybase数据库: jdbc:sybase:Tds:192.168.9.162:5000/jitdb?charset=eucgb192.168.9.162 Sybase数据库所在主机的地址5000 Sybase服务器的监听端口地址jitdb Sybase数据库名称用户可能需要修改的是三个值:数据库所在主机的地址(可用IP或机器名)
20、、端口号和数据库名称,此三个值应由数据库管理员提供。3.2.2 说明:JDBC数据库连接用的数据库驱动名字为了支持所使用的JDBC数据库驱动(参照不同数据库JDBC连接填写) 举例:Oracle数据库:oracle.jdbc.driver.OracleDriverDB2数据库:com.ibm.db2.jcc.DB2DriverMySQL数据库:com.mysql.jdbc.DriverMSSQL数据库:com.microsoft.jdbc.sqlserver.SQLServerDriverSybase数据库:com.sybase.jdbc2.jdbc.SybDriver3.2.3 说明:数据库
21、用户名 举例:jitida3.2.4 说明:数据库用户密码举例: IqM= isEncrypted 表示是否对口令加密 isEncrypted=TRUE 对口令加密 =FALSE 不对口令加密 在设置时类似如下: mypassword 在系统启动后,程序会自动加密此口令。3.2.5 说明:数据库连接池最大限制 为了限制数据库连接池中连接数量,通过连接池最大限制可以确保连接池不会过度膨胀;不会影响数据库效率。 举例:20 上列表示数据库连接池最大限制为20 ,连接池中的同时连接到数据库的连接数量不能超过20。此值可根据需要设置更大,直到数据库本身的限制。4 数据库连接代码4.1 完整示例4.1.
22、1 Oracle数据库:String url = jdbc:oracle:thin:localhost:1521:数据库服务名;Class.forName(oracle.jdbc.driver.OracleDriver);Connection con = DriverManager.getConnection(url,用户名,密码);4.1.2 DB2数据库:String url=jdbc:db2:/localhost:5000/dbName;Class.forName(com.ibm.db2.jdbc.app.DB2Driver ).newInstance();Connection con
23、= DriverManager.getConnection(url,用户名,密码);4.1.3 MySQL数据库:String url = jdbc:mysql:/localhost:3306/dbName?useUnicode=true&characterEncoding=gb2312;Class.forName(org.gjt.mm.mysql.Driver).newInstance();Connection con = DriverManager.getConnection(url,用户名,密码);4.1.4 MSSQL数据库:String url = jdbc:microsoft:sq
24、lserver:/localhost:1433;DatabaseName=dbName;SelectMethod=cursor;Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver).newInstance();Connection con = DriverManager.getConnection(url,用户名,密码);4.1.5 Sybase数据库:String url = jdbc:sybase:Tds:localhost:5007/dbName;mKn平坦软件园 Class.forName(com.sybase.jdbc
25、.SybDriver).newInstance();Connection con = DriverManager.getConnection(url,用户名,密码);5 通用SQL语句目前市场主流关系数据库有SqlServer、Sybase、Oracle、DB2、Mysql等。每种数据库SQL语句大同小异;各数据库的数据类型差别较大。请参看对应数据库文档。以下介绍数据库共同的SQL基础。5.1 排序各数据数据库排序都遵循order by filed_name ASC(升序)/DESC(降序)5.2 模糊查询1、like 与 not like查询指定匹配字符串的数据,like运算符有两个通配符;与_其中表示零或多个字符,_表示一个字符例:select * from userTable where name like %王% select * from userTable where name like 王_ 5.3 连接查询内连接: 只连接匹配的行左外连接:包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行右外连接:包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1