java 添加用户 数据库,跟屌丝学DB2 第二课 建立数据库以及添加用户

在安装DB2 之后,就可以在 DB2 环境中创建自己的数据库。首先考虑数据库应该使用哪个实例。实例(instance) 提供一个由数据库管理配置(DBM CFG)文件控制的逻辑层,可以在这里将多个数据库分组在一起。DBM CFG 文件包含一组 DBM CFG 参数,可以使用它们对实例进行调优。在每个工作站上可以创建多个实例,在每个实例中可以创建多个数据库。屌丝学习当然要创建屌丝实例

Windows先创建DB2实例的方法在Windows下,通过如下命令即可创建DB2实例:db2icrt instance_name

%E6%9C%AA%E5%91%BD%E5%90%8D.jpg屌丝这个实例就创建将屌丝这个实例添加进数据库中,如图

%E6%9C%AA%E5%91%BD%E5%90%8D11.jpg

%E6%9C%AA%E5%91%BD%E5%90%8D11.jpg

需要注意的是,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 创建新数据库

3ba2833nji15.jpg

在 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. 查看新数据库

5c0745z87wc9.jpg

如果您了解创建数据库所用的 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. 打开计算机管理中用户管理

33ae3d541b2dbcc49e9d1280cc3d81c0.png

3.在“用户”对话框中,输入以下信息(另外参见下图)。在“用户名”框中,输入 customer。在“全名”框中,输入 Customer1。在“描述”框中,输入 A typical bookstore customer。在 “密码” 和 “确认密码” 框中,输入 ibmdb2admin。取消 “用户下次登录时须修改密码”选项。最后,单击“创建”按钮创建新用户。

图 2. 创建一个新用户

e90f977400ee77255dfa18bed0362780.png

4.确保使用 Control Center (控制中心) 的高级视图。切换到高级视图的方法是,从 Control Center (控制中心) Tools 菜单中选择 Customize Control Center (控制中心) 菜单项,选择 Advanced (高级) 选项并单击“确定”按钮。

图 3. 打开控制中心高级视图

d367aacdf518fe9f27887c15c7498013.png

5.在 Control Center (控制中心) 左边面板中的对象树中,依次展开所有数据库> EXPRESS > Tables。

6.将所需的特权授予刚才创建的用户。在 EXPRESS 数据库的表列表中,右键单击 CUSTOMERS 表并选择 “特权” 菜单项,这时会显示 “表特权” 对话框。

图 4. 打开特权菜单项

1dfcee773fbaabc9389b8b544a9f4a10.png

7.单击“添加用户”按钮并选择刚才创建的 customer 用户。单击 “确定”按钮关闭 “添加用户” 对话框。

图 5. 给表添加用户

912f9ab8f15d2850c6b4b3be7167bbe4.png

8.您会注意到,customer 用户已经添加到用户列表中了,但是还没有分配特权。为了授予这个用户 SELECT、INSERT、UPDATE 和 DELETE 特权,将所有下拉框改为 Yes。因特网客户应该能够查看/添加/更新/删除他们的帐户数据。我们不授予这个用户其他权限,因为他们不需要那些权限。单击 “确定” 按钮关闭 “表特权” 对话框并接受所做的修改。

图 6. 授予用户权限

b7bec5a3cc88287a58e3d9bbbadc5bc2.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iphone视频教程

公开课介绍 本课程共28集 翻译至第15集 网易正在翻译16-28集 敬请关注 返回公开课首页 一键分享:  网易微博开心网豆瓣网新浪微博搜狐微博腾讯微博邮件 讲师介绍 名称:Alan Cannistraro 课程介绍 如果你对iPhone Development有兴趣,以下是入…

在Python中有效使用JSON的4个技巧

Python has two data types that, together, form the perfect tool for working with JSON: dictionaries and lists. Lets explore how to:Python有两种数据类型,它们一起构成了使用JSON的理想工具: 字典和列表 。 让我们探索如何: load a…

Vlan中Trunk接口配置

Vlan中Trunk接口配置 参考文献:HCNA网络技术实验指南 模拟器:eNSP 实验环境: 实验目的:掌握Trunk端口配置 掌握Trunk端口允许所有Vlan配置方法 掌握Trunk端口允许特定Vlan配置方法 实验拓扑: 实验IP地址 :…

django中的admin组件

Admin简介: Admin:是django的后台 管理的wed版本 我们现在models.py文件里面建几张表: class Author(models.Model):nid models.AutoField(primary_keyTrue)namemodels.CharField( max_length32)agemodels.IntegerField()# 与AuthorDetail建立一对一的关…

虚拟主机创建虚拟lan_创建虚拟背景应用

虚拟主机创建虚拟lanThis is the Part 2 of the MediaPipe Series I am writing.这是我正在编写的MediaPipe系列的第2部分。 Previously, we saw how to get started with MediaPipe and use it with your own tflite model. If you haven’t read it yet, check it out here.…

.net程序员安全注意代码及服务器配置

概述 本人.net架构师,软件行业为金融资讯以及股票交易类的软件产品设计开发。由于长时间被黑客攻击以及骚扰。从事高量客户访问的服务器解决架构设计以及程序员编写指导工作。特此总结一些.net程序员在代码编写安全以及服务器设置安全常用到的知识。希望能给对大家…

接口测试框架2

现在市面上做接口测试的工具很多,比如Postman,soapUI, JMeter, Python unittest等等,各种不同的测试工具拥有不同的特色。但市面上的接口测试工具都存在一个问题就是无法完全吻合的去适用没一个项目,比如数据的处理,加…

python 传不定量参数_Python中的定量金融

python 传不定量参数The first quantitative class for vanilla finance and quantitative finance majors alike has to do with the time value of money. Essentially, it’s a semester-long course driving notions like $100 today is worth more than $100 a year from …

雷军宣布红米 Redmi 品牌独立,这对小米意味着什么?

雷锋网消息,1 月 3 日,小米公司宣布,将在 1 月 10 日召开全新独立品牌红米 Redmi 发布会。从小米公布的海报来看,Redmi 品牌标识出现的倒影中,有 4800 的字样,这很容易让人联想起此前小米总裁林斌所宣布的 …

JAVA的rotate怎么用,java如何利用rotate旋转图片_如何在Java中旋转图形

I have drawn some Graphics in a JPanel, like circles, rectangles, etc.But I want to draw some Graphics rotated a specific degree amount, like a rotated ellipse. What should I do?解决方案If you are using plain Graphics, cast to Graphics2D first:Graphics2D …

贝叶斯 朴素贝叶斯_手动执行贝叶斯分析

贝叶斯 朴素贝叶斯介绍 (Introduction) Bayesian analysis offers the possibility to get more insights from your data compared to the pure frequentist approach. In this post, I will walk you through a real life example of how a Bayesian analysis can be perform…

西工大java实验报告给,西工大数字集成电路实验 实验课6 加法器的设计

西工大数字集成电路实验练习六 加法器的设计一、使用与非门(NAND)、或非门(NOR)、非门(INV)等布尔逻辑器件实现下面的设计。1、仿照下图的全加器,实现一个N位的减法器。要求仿照图1画出N位减法器的结构。ABABABAB0123图1 四位逐位进位加法器的结构2、根据自己构造的…

DS二叉树--二叉树之数组存储

二叉树可以采用数组的方法进行存储,把数组中的数据依次自上而下,自左至右存储到二叉树结点中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点就在数组中用0来表示。,如下图所示 从上图可以看出,右边的是一颗普通的…

VS IIS Express 支持局域网访问

使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试。虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到自己的需求;所以只能在…

构建图像金字塔_我们如何通过转移学习构建易于使用的图像分割工具

构建图像金字塔Authors: Jenny Huang, Ian Hunt-Isaak, William Palmer作者: 黄珍妮 , 伊恩亨特伊萨克 , 威廉帕尔默 GitHub RepoGitHub回购 介绍 (Introduction) Training an image segmentation model on new images can be daunting, es…

PHP mongodb运用,MongoDB在PHP下的应用学习笔记

1、连接mongodb默认端口是:27017,因此我们连接mongodb:$mongodb new Mongo(localhost) 或者指定IP与端口 $mongodb new Mongo(192.168.127.1:27017) 端口可改变若mongodb开启认证,即--auth,则连接为: $mongodb new …

SpringBoot项目打war包部署Tomcat教程

一、简介 正常来说SpringBoot项目就直接用jar包来启动&#xff0c;使用它内部的tomcat实现微服务&#xff0c;但有些时候可能有部署到外部tomcat的需求&#xff0c;本教程就讲解一下如何操作 二、修改pom.xml 将要部署的module的pom.xml文件<packaging>节点设置为war <…

关于如何使用xposed来hook微信软件

安卓端 难点有两个 收款码的生成和到帐监听需要源码加 2442982910转载于:https://www.cnblogs.com/ganchuanpu/p/10220705.html

GitHub动作简介

GitHub Actions can be a little confusing if you’re new to DevOps and the CI/CD world, so in this article, we’re going to explore some features and see what we can do using the tool.如果您是DevOps和CI / CD领域的新手&#xff0c;那么GitHub Actions可能会使您…

java returnaddress,JVM之数据类型

《Java虚拟机规范》阅读笔记-数据类型1.概述Java虚拟机的数据类型可分为两大类&#xff1a;原始类型(Primitive Types&#xff0c;也称为基本类型)和引用类型(Reference Types)。Java虚拟机用不同的字节码指令来操作不同的数据类型[1] 。2.原始类型原始类型是最基本的元素&…