在安装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 第二课 建立数据库以及添加用户相关推荐

  1. Access教程 第二章 建立数据库

    本章内容 ◆ 数据库的设计概念与创建数据库. ◆ 表的创建及表与表之间的关系. ◆ 数据库的修改.设计与编辑. 一.数据库的设计 1.概念及准则 下面介绍数据库设计的概念,及由此而产生的数据库设计准则 ...

  2. 【PHP MySQL】数据库专题 第二课 创建数据库 表

    [PHP & MySQL]✔️数据库专题✔️ 第二课 创建数据库 & 表 概述 MySQL 安装 MySQL 命令行 数据库创建 创建表 概述 从今天开始, 小白我将带领大家一起来补充 ...

  3. MySql cmd下的学习笔记 —— 有关建立数据库的操作(连接Mysql,建立数据库,删除数据库等等)...

    (01) 连接数据库 mysql -uroot -p 之后输入密码 ******.(由于我的密码设置的是111,所以输入的是111) (02) 退出数据库 exit (03) 查看数据库 show d ...

  4. 快学Scala 第二课 (apply, if表达式,循环,函数的带名参数,可变长参数,异常)...

    apply方法是Scala中十分常见的方法,你可以把这种用法当做是()操作符的重载形式. 像以上这样伴生对象的apply方法是Scala中构建对象的常用手法,不再需要使用new. if 条件表达式的值 ...

  5. 第二课(2)添加导航栏

    self.view.backgroundColor = gray; 第二句的代码的意思就是:我的界面颜色等于gray self=我的意思. 我是谁呢? 我们是ViewController文件之中 Vi ...

  6. 《健身入门学》第二课,肌肉生理生化基础(一)

    这是昨天课程的内容,我这次用文字的形式完整的发上来.以后不会有完整的内容,但以后会发课程内容精选,或者语音精选,编辑成视频,到时候专栏文章里会有链接.大家拭目以待,这项工作正在紧张的进行当中.这是为了 ...

  7. 在db2中 两个数据库之间的两个表的联合查询

    大家好,今天遇到了在db2中 两个数据库之间的两个表的联合查询 我知道oracle中有dblink,可是不知到db2的两个数据库联合查询怎么处理 我找了类似于 比如两个数据库: db1,db2 用户名 ...

  8. BDE(一款数据库引擎,通过它可以连接不同数据库)

    BDE(Borland Database Engine)是Inprise公司的数据库引擎, 它结合了SQL Links允许程序员通过它能够连接到各种不同的数据库. BDE是BORLAND 数据库引擎的 ...

  9. bWAPP搭建以及数据库文件bwapp.sqlite不能自动建立数据库的问题

    bWAPP安装包下载:https://sourceforge.net/projects/bwapp/ 在已经安装好lamp环境的虚拟机上,将bWAPP安装包解压后放在/var/www/html目录下, ...

最新文章

  1. -Objc 、 -all_load 、 -force_load
  2. 你不知道的事---SringCloud的feign的继承特性
  3. Android入门(十二)SQLite事务、升级数据库
  4. Vue 响应式原理(双向数据绑定) 怎样实现 响应式原理?
  5. oracle中用户连接相关
  6. k8s中使用MySQL共享存储_Kubernetes创建挂载共享存储的容器
  7. python对象三个特性_百度资讯搜索_python对象三个特性
  8. 【自适应盲均衡2】多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真
  9. Code Sinppet
  10. 最近见了几位东半球的顶级技术大拿
  11. 4服务器内存和普通内存_Java服务器内存过高CPU过高问题排查
  12. Spring Security 3多用户登录实现之二 多登录界面展示
  13. 使用timerfd实现定时器功能
  14. 我的世界乘法计算机,《我的世界》计算器的加法和乘法器电路图文教程
  15. 基于Modbus TCP的MCGS上位机软件教程
  16. 将luarocks整合进openresty,并安装lfs
  17. web前端开发面试题(六)
  18. 异常:Handler sending message to a Handler on a dead thread
  19. oracle 父子级,oracle 父子关系
  20. 计算机绘画小房子教案,中班绘画《房子》教案

热门文章

  1. c++中的函数适配器
  2. Linux网络编程——tcp并发服务器(epoll实现)
  3. Vivado提高综合和实现的速度
  4. 【Linux】Ubuntu 18下安装Vim自动补全插件YouCompleteMe(可高速下载安装)
  5. UNIX网络编程笔记(4):简单的回射程序
  6. 保驾护航金三银四,吐血整理
  7. 大牛用SSM框架实现了支付宝的支付功能,满满干货指导
  8. 阿里P7大牛手把手教你!一眼就能看懂的Android自学手册,真香!
  9. 温故之 “插入排序”
  10. zookeeper、hbase常见命令