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.pswp.cn/news/388721.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388721.shtml
英文地址,請注明出處:http://en.pswp.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程序員在代碼編寫安全以及服務器設置安全常用到的知識。希望能給對大家…

文件的讀寫及其相關

將軟件布置在第三方電腦上會出現無法提前指定絕對路徑的情況,這回影響到后續的文件讀寫;json文件是數據交換的一種基本方法,為了減少重復造輪子,經行標準化代碼。關于路徑: import os workspaceos.getcwd() pathos.pat…

接口測試框架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 …

axis為amchart左右軸的參數

<axis>left</axis> <!-- [left] (left/ right) indicates which y axis should be used --> <title>流通股</title> <!-- [] (graph title) --> <…

雷軍宣布紅米 Redmi 品牌獨立,這對小米意味著什么?

雷鋒網消息&#xff0c;1 月 3 日&#xff0c;小米公司宣布&#xff0c;將在 1 月 10 日召開全新獨立品牌紅米 Redmi 發布會。從小米公布的海報來看&#xff0c;Redmi 品牌標識出現的倒影中&#xff0c;有 4800 的字樣&#xff0c;這很容易讓人聯想起此前小米總裁林斌所宣布的 …

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…

vs2005 vc++ 生成非托管的 不需要.net運行環境的exe程序方法

在VS2005里開發的VC程序在編譯的時候&#xff0c;微軟默認會加入自己的 .Net Framework &#xff08;方便推廣自家產品&#xff09;&#xff0c;讓你的VC程序依賴它&#xff0c;這就導致程序編譯后&#xff0c;無法跟往常一樣直接打包&#xff0c;在別的機器就能正常運行。如果…

西工大java實驗報告給,西工大數字集成電路實驗 實驗課6 加法器的設計

西工大數字集成電路實驗練習六 加法器的設計一、使用與非門(NAND)、或非門(NOR)、非門(INV)等布爾邏輯器件實現下面的設計。1、仿照下圖的全加器&#xff0c;實現一個N位的減法器。要求仿照圖1畫出N位減法器的結構。ABABABAB0123圖1 四位逐位進位加法器的結構2、根據自己構造的…

DS二叉樹--二叉樹之數組存儲

二叉樹可以采用數組的方法進行存儲&#xff0c;把數組中的數據依次自上而下,自左至右存儲到二叉樹結點中&#xff0c;一般二叉樹與完全二叉樹對比&#xff0c;比完全二叉樹缺少的結點就在數組中用0來表示。&#xff0c;如下圖所示 從上圖可以看出&#xff0c;右邊的是一顆普通的…

VS IIS Express 支持局域網訪問

使用Visual Studio開發Web網頁的時候有這樣的情況&#xff1a;想要在調試模式下讓局域網的其他設備進行訪問&#xff0c;以便進行測試。雖然可以部署到服務器中&#xff0c;但是卻無法進行調試&#xff0c;就算是注入進程進行調試也是無法達到自己的需求&#xff1b;所以只能在…

前復權后復權程序C# .net

if (win32apitest.MDIMain.SFSDA.FuQuan "前復權") { if (mytime DateTime.Parse("2009-04-29")) { //if (svalue 34.89) …

一天一個js知識

原型繼承和class繼承 class&#xff1a;js中并不存在類的概念&#xff0c;class只是語法糖&#xff0c;本質還是函數&#xff1b; 提升&暫時性死區 console.log(a)// ? a() {} var a8 function a(){} 復制代碼 1、這里說明函數的提升要優先于變量的提升&#xff1b;函數提…

構建圖像金字塔_我們如何通過轉移學習構建易于使用的圖像分割工具

構建圖像金字塔Authors: Jenny Huang, Ian Hunt-Isaak, William Palmer作者&#xff1a; 黃珍妮 &#xff0c; 伊恩亨特伊薩克 &#xff0c; 威廉帕爾默 GitHub RepoGitHub回購 介紹 (Introduction) Training an image segmentation model on new images can be daunting, es…