java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户
在安装DB2 之后,就可以在 DB2 环境中创建自己的数据库。首先考虑数据库应该使用哪个实例。实例(instance) 提供一个由数据库管理配置(DBM CFG)文件控制的逻辑层,可以在这里将多个数据库分组在一起。DBM CFG 文件包含一组 DBM CFG 参数,可以使用它们对实例进行调优。在每个工作站上可以创建多个实例,在每个实例中可以创建多个数据库。屌丝学习当然要创建屌丝实例
Windows先创建DB2实例的方法在Windows下,通过如下命令即可创建DB2实例:db2icrt instance_name
屌丝这个实例就创建将屌丝这个实例添加进数据库中,如图
需要注意的是,instance_name必须按照如下的规则命令:
1)不能大于 8 个字符
2)不能 以"sql"、"ibm"或"sys"开头
3)不能以数字开头或者包含 a-z、$、#、@、_ 或 0-9 之外的字符
如:以下是代码片段:DB2BIN>db2icrt insttest
DB20000I DB2ICRT命令成功完成。
DB2BIN>db2ilist --列举服务器上存在的 DB2 实例
以下是代码片段:INSTTESTD:DB2BIN>
要删除一个实例,首先断开所有数据库连接,然后执行以下命令停止实例:
以下是代码片段:db2idrop -f instance_name
比如:
以下是代码片段:DB2BIN>db2idrop -f insttest
DB20000I DB2IDROP命令成功完成。
DB2BIN>
察看实例配置文件
--默认
以下是代码片段:DB2 GET DBM CFG
--分屏显示
以下是代码片段:DB2 GET DBM CFG | More
--将显示结果存入 cfg.out 文件中
以下是代码片段:DB2 GET DBM CFG > cfg.out接下来 给位屌丝DB就要创建数据库了 记住有2种方式创建 第一种 就是用control center如下所示,在创建数据库时要考虑几个因素。有几种创建数据库的方法。可以使用从 Control Center 调用的 Create Database 向导,它会引导用户分步创建数据库。如果您了解实际的 Create Database 命令的话,还可以从 DB2 Command Window、Command Editor 或命令行直接发出命令。
在这个示例中,从 DB2 First Steps Launch 面板的 Create Database 向导:
1、启动 DB2 Control Center。点击 Start > All PRograms > IBM DB2 > General Administration Tools 并选择 Control Center。当提示选择 Control Center 视图时,点击 OK 选择默认视图(Advanced)。
2、点击 All Databases(如图 5 所示),然后点击 Create New Database。Create Your Own Database 向导打开。
从 Control Center 创建新数据库
在 Create Your Own Database 向导中,指定数据库名和数据库目录的位置。输入 HelloWld 作为数据库名。指定 C:\ 作为默认路径。输入 hwld 作为数据库别名。在 Comment 字段中输入任何描述性的注释。
4、选中 Enable Database forxml。XML 列只能在 UTF-8 代码集(Unicode)数据库中使用。所以要在数据库中使用 XML,就必须创建 Unicode 数据库。
5、不需要指定任何其他数据库选项,所以选择 Summary 面板,然后点击 Show Command 来查看创建这个数据库所用的 DB2 命令。
6、因为在这个数据库中启用了 XML,所以使用 CODESET UTF-8。点击 Close。如果想将命令保存到文件中,供以后参考或重用,那么点击 Save 而不是 Close。
7、在 Create New Database 窗口中,点击 Finish 并等待向导完成操作。
在 DB2 创建数据库时,它还创建以下东西:
1、在指定的驱动器或路径上创建必要的数据库目录
2、创建一组默认的表空间,包括 SYSCAT、TEMPORARY 和 USER 表空间
3、在编目表空间中创建一组系统编目表和视图
4、创建数据库配置(DB CFG)文件并设置默认值
5、为数据库恢复日志文件创建空间并分配它
6、为数据库(如 CLI)和命令行处理器创建的几个应用程序
使用 DB2 Control Center 检查创建的数据库
在 Control Center 左边的面板中,找到并展开 All Systems 和 All Databases。看看是否能够找到刚才创建的 HELLOWLD 数据库。All Systems 提供了数据库对象视图,这些对象依次根据机器、实例和数据库进行分组。在这个机器上只有一个实例,DB2。All Databases 提供了这个机器上的所有数据库的快速查看。
图 6. 查看新数据库
如果您了解创建数据库所用的 DB2 命令,那么可以使用在前面的 Create New Database 向导窗口中保存的 CREATE DATABASE 命令并根据需要进行修改,然后从 DB2 命令行处理器发出 CREATE DATABASE 命令来创建数据库。
选择 Start > Run,输入 db2cmd 并按 Enter。打开 DB2 命令行处理器窗口。要想获得 create database 命令的帮助,可以在命令行窗口中输入 db2 ? create database。
输入 db2 CREATE DATABASE MYTESTDB ON C:。在命令成功完成之后,点击 Control Center 主菜单中的 Selected 并点击 Refresh。然后看看是否能够在 Control Center 中找到新的数据库 MYTESTDB。
在 DB2 命令窗口中输入命令 db2 LIST DATABASE DIRECTORY。应该会看到 HELLOWLD 和 MYTESTDB 数据库的数据库项。
第二种 用命令创建;db2 CREATE DATABASE diaosi ON C: USING CODESET UTF8 TERRITORY CN COLLATE USING SYSTEM
territory cn 是数据库的语言环境USING CODESET UTF8 指的是数据库用utf8字符
为DB2数据库创建新用户帐户并为其分配特定特权
目标
到目前为止,一直使用实例管理员帐户(SYSADM)来执行所有数据库命令。这个帐户对所有实用程序、数据和数据库对象具有完全访问权。因此,为了避免无意或有意的数据损失,必须要保护这个帐户。在大多数情况下,需要创建不同的用户和/或组,并授予有限的权限集。在本次实验中,将创建一个新的用户帐户,然后为它分配特定的特权。
步骤
1.通过控制面板打开“管理”菜单项,打开“计算机管理”控制台。
2.在窗口左边的面板中,展开“系统工具”,然后展开“本地用户和组”文件夹。右击 “用户”文件夹并选择“新建用户”菜单项。
图 1. 打开计算机管理中用户管理
3.在“用户”对话框中,输入以下信息(另外参见下图)。在“用户名”框中,输入 customer。在“全名”框中,输入 Customer1。在“描述”框中,输入 A typical bookstore customer。在 “密码” 和 “确认密码” 框中,输入 ibmdb2admin。取消 “用户下次登录时须修改密码”选项。最后,单击“创建”按钮创建新用户。
图 2. 创建一个新用户
4.确保使用 Control Center (控制中心) 的高级视图。切换到高级视图的方法是,从 Control Center (控制中心) Tools 菜单中选择 Customize Control Center (控制中心) 菜单项,选择 Advanced (高级) 选项并单击“确定”按钮。
图 3. 打开控制中心高级视图
5.在 Control Center (控制中心) 左边面板中的对象树中,依次展开所有数据库> EXPRESS > Tables。
6.将所需的特权授予刚才创建的用户。在 EXPRESS 数据库的表列表中,右键单击 CUSTOMERS 表并选择 “特权” 菜单项,这时会显示 “表特权” 对话框。
图 4. 打开特权菜单项
7.单击“添加用户”按钮并选择刚才创建的 customer 用户。单击 “确定”按钮关闭 “添加用户” 对话框。
图 5. 给表添加用户
8.您会注意到,customer 用户已经添加到用户列表中了,但是还没有分配特权。为了授予这个用户 SELECT、INSERT、UPDATE 和 DELETE 特权,将所有下拉框改为 Yes。因特网客户应该能够查看/添加/更新/删除他们的帐户数据。我们不授予这个用户其他权限,因为他们不需要那些权限。单击 “确定” 按钮关闭 “表特权” 对话框并接受所做的修改。
图 6. 授予用户权限
9.对于 BOOKS 和 SALES 表重复第 6-8 步。对于 BOOKS 表,只授予 SELECT 特权,因为不应该允许客户修改商店的库存数据。对于 SALES 表,只授予 SELECT 和 INSERT 特权。客户不应该有 DELETE 或 UPDATE 特权,因为只有商店职员应该有权修改销售数据。
10.使用上面创建的用户 ID 连接数据库。尝试从 CUSTOMERS 表中选择数据,会发生什么情况?尝试删除或更新 SALES 表中的数据,会发生什么情况?
在本次实验中,我们只创建了一个用户;但是,实际的应用程序可能包含许多不同类型的用户。请您自己试着创建其他用户并授予他们特权。还可以创建用户组并向组授予特权,这样就不必向每个用户分别授予特权。
转帖者注:
创建完新用户后,在使用该新用户身份进行JDBC连接时需要注意SQL语句的写法。比如:当初创建数据库时使用的是Administer用户身份。现在在该数据中增加了用户——customer,那么在使用customer身份连接数据库后的所有SQL语句均要求在表名前增加原数据库表的创建者。
例如,SELECT * FROM Administer.TableName ; (注意红色部分)不能写成SELECT * FROM TableName ,否则会发生
42704错误:
SQLException information
Error msg: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=ADMIN.CONTACT, DRIVER=3.50.152
SQLSTATE: 42704
Error code: -204
com.ibm.db2.jcc.b.nm: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=ADMIN.CONTACT, DRIVER=3.50.152
at com.ibm.db2.jcc.b.wc.a(wc.java:579)
at com.ibm.db2.jcc.b.wc.a(wc.java:57)
at com.ibm.db2.jcc.b.wc.a(wc.java:126)
at com.ibm.db2.jcc.b.tk.c(tk.java:1901)
at com.ibm.db2.jcc.b.tk.d(tk.java:1889)
at com.ibm.db2.jcc.b.tk.a(tk.java:1416)
at com.ibm.db2.jcc.t4.db.g(db.java:138)
at com.ibm.db2.jcc.t4.db.a(db.java:38)
at com.ibm.db2.jcc.t4.t.a(t.java:32)
at com.ibm.db2.jcc.t4.sb.h(sb.java:141)
at com.ibm.db2.jcc.b.tk.N(tk.java:1387)
at com.ibm.db2.jcc.b.tk.a(tk.java:2215)
at com.ibm.db2.jcc.b.tk.a(tk.java:557)
at com.ibm.db2.jcc.b.tk.executeQuery(tk.java:541)
at com.EzJava.main(EzJava.java:45)
Error msg: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;ADMIN.CONTACT, DRIVER=3.50.152
SQLSTATE: 56098
Error code: -727
com.ibm.db2.jcc.b.SqlException: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098, SQLERRMC=2;-204;42704;ADMIN.CONTACT, DRIVER=3.50.152
at com.ibm.db2.jcc.b.wc.a(wc.java:55)
at com.ibm.db2.jcc.b.wc.a(wc.java:126)
at com.ibm.db2.jcc.b.tk.c(tk.java:1901)
at com.ibm.db2.jcc.b.tk.a(tk.java:1443)
at com.ibm.db2.jcc.t4.db.n(db.java:739)
at com.ibm.db2.jcc.t4.db.i(db.java:257)
at com.ibm.db2.jcc.t4.db.c(db.java:52)
at com.ibm.db2.jcc.t4.t.c(t.java:44)
at com.ibm.db2.jcc.t4.sb.i(sb.java:153)
at com.ibm.db2.jcc.b.tk.P(tk.java:1438)
at com.ibm.db2.jcc.b.tk.a(tk.java:2217)
at com.ibm.db2.jcc.b.tk.a(tk.java:557)
at com.ibm.db2.jcc.b.tk.executeQuery(tk.java:541)
at com.EzJava.main(EzJava.java:45)
posted on 2012-12-05 18:30 顺其自然EVO 阅读(7121) 评论(0) 编辑 收藏 所属分类: DB2
java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户相关推荐
- Access教程 第二章 建立数据库
本章内容 ◆ 数据库的设计概念与创建数据库. ◆ 表的创建及表与表之间的关系. ◆ 数据库的修改.设计与编辑. 一.数据库的设计 1.概念及准则 下面介绍数据库设计的概念,及由此而产生的数据库设计准则 ...
- 【PHP MySQL】数据库专题 第二课 创建数据库 表
[PHP & MySQL]✔️数据库专题✔️ 第二课 创建数据库 & 表 概述 MySQL 安装 MySQL 命令行 数据库创建 创建表 概述 从今天开始, 小白我将带领大家一起来补充 ...
- MySql cmd下的学习笔记 —— 有关建立数据库的操作(连接Mysql,建立数据库,删除数据库等等)...
(01) 连接数据库 mysql -uroot -p 之后输入密码 ******.(由于我的密码设置的是111,所以输入的是111) (02) 退出数据库 exit (03) 查看数据库 show d ...
- 快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)...
apply方法是Scala中十分常见的方法,你可以把这种用法当做是()操作符的重载形式. 像以上这样伴生对象的apply方法是Scala中构建对象的常用手法,不再需要使用new. if 条件表达式的值 ...
- 第二课(2)添加导航栏
self.view.backgroundColor = gray; 第二句的代码的意思就是:我的界面颜色等于gray self=我的意思. 我是谁呢? 我们是ViewController文件之中 Vi ...
- 《健身入门学》第二课,肌肉生理生化基础(一)
这是昨天课程的内容,我这次用文字的形式完整的发上来.以后不会有完整的内容,但以后会发课程内容精选,或者语音精选,编辑成视频,到时候专栏文章里会有链接.大家拭目以待,这项工作正在紧张的进行当中.这是为了 ...
- 在db2中 两个数据库之间的两个表的联合查询
大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询 我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理 我找了类似于 比如两个数据库: db1,db2 用户名 ...
- BDE(一款数据库引擎,通过它可以连接不同数据库)
BDE(Borland Database Engine)是Inprise公司的数据库引擎, 它结合了SQL Links允许程序员通过它能够连接到各种不同的数据库. BDE是BORLAND 数据库引擎的 ...
- bWAPP搭建以及数据库文件bwapp.sqlite不能自动建立数据库的问题
bWAPP安装包下载:https://sourceforge.net/projects/bwapp/ 在已经安装好lamp环境的虚拟机上,将bWAPP安装包解压后放在/var/www/html目录下, ...
最新文章
- -Objc 、 -all_load 、 -force_load
- 你不知道的事---SringCloud的feign的继承特性
- Android入门(十二)SQLite事务、升级数据库
- Vue 响应式原理(双向数据绑定) 怎样实现 响应式原理?
- oracle中用户连接相关
- k8s中使用MySQL共享存储_Kubernetes创建挂载共享存储的容器
- python对象三个特性_百度资讯搜索_python对象三个特性
- 【自适应盲均衡2】多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真
- Code Sinppet
- 最近见了几位东半球的顶级技术大拿
- 4服务器内存和普通内存_Java服务器内存过高CPU过高问题排查
- Spring Security 3多用户登录实现之二 多登录界面展示
- 使用timerfd实现定时器功能
- 我的世界乘法计算机,《我的世界》计算器的加法和乘法器电路图文教程
- 基于Modbus TCP的MCGS上位机软件教程
- 将luarocks整合进openresty,并安装lfs
- web前端开发面试题(六)
- 异常:Handler sending message to a Handler on a dead thread
- oracle 父子级,oracle 父子关系
- 计算机绘画小房子教案,中班绘画《房子》教案