实验 #6 使用配置助手
实验目标
配置助手可以用来简便地设置远程数据库连接。 在本次练习中,您将把一个位于远程 DB2服务
器(用另一台工作站代替)上的数据加入目录,使用搜索网络和已知系统搜索两种方式添加目录。一经
加入目录,您就可以像访问本地系统一样访问它。DB2在后台完成所有的通信过程。
注:
本实验假设您是工作在一个网络内。如果不是,您可以同时把您的计算机用作客户端和服务
器,然后按照下面配置说明连接到您自己的系统。
实验过程
1. 向另一台工作站用户询问以下的信息:
远程数据库信息:
(PR) Protocol协议 TCPIP
(IP) IP Address or hostname ____________
IP地址或主机名
(PN) Instance Port Number 实例的端口号 ____________
(DB) Database Name数据库名 SAMPLE
提示: 在 Windows系统命令行键入hostname来获取主机名;
在 Windows系统的命令行键入ipconfig来获取IP地址
2. 打开配置助手。(提示:可以从”开始”菜单访问)
3. 打开“所选(Selected)”菜单并选择“使用向导来添加数据库(Add Database Using Wizard)” 。
4. 在向导的“源(Source)”页面中选择“手工配置与数据库的连接 Manually Configure a
Connection to a Database” 。
5. 在向导的“协议 Protocol”页面,选择 TCP/IP 选项。点击“下一步”按钮进入向导的下一页。
6. 在向导的”TCP/IP”页,输入您在第(1)步中记下的完整的主机名或 IP 地址、端口号,点击”下
一步”按钮进入下一页。
注意: 仅在您的本地服务文件有一个与远程服务器上实例监听的端口一致的端口号的条目
时,才可以用“服务名称”选项。当您使用这个选项时,DB2 将会在本机上而不是服务器上
查找服务文件。如果您想要用此选项,必须向本地服务文件中添加一个项。
7. 在向导的“数据库(Database)”页上,在“数据库名称”处输入您第(1)步记录的定义
在远程服务器上的数据库名。注意“数据库别名”会自动填充相同的值。数据库别名通常是
指本地应用程序用来与这个数据库连接时所使用的名称。既然您已经定义了一个叫作
“SAMPLE”的数据库,DB2 将不会允许您在目录中以同样的名称登记一个数据库。因此,
您必须使用一个不同的别名。在这个例子中,我们把数据库别名改为 SAMPLE1。有必要的
话您可以添加一个注释。点击“下一步”按钮进入向导的下一页。
8. 在“数据源 Data Source”页上,您可以选择把这个新的数据库(数据源)注册为一个 ODBC
数据源。它会自动地在 Windows 的 ODBC 管理器中为您进行注册。在这里,取消“为
CLI/ODBC注册此数据库”的勾选。点击Next按钮进入向导的下一页。
9. 在向导的“节点选项 Node”页,指定数据库所在的远程服务所用的操作系统。因为这个实
验中所有的工作站都使用微软的 Windows 系统,所以确认您选中了下拉菜单里的
“Windows”项。把这里的“实例名”字段设为“DB2”。点击 Next 按钮进入向导的下一页。
10. 在向导的“系统选项 System Options”页,您将会确认系统和主机名是否正确,并核对操作
系统的设置。点击Next按钮进入向导的下一页。
11. 向导的“安全性选项 Security Options”页面,您可以指定用户认证在何处进行,以及您想
采用的认证方式。选中“使用服务’DBM’配置中的认证值 Use authentication value in
server’s DBM Configuration”。这样就将采用在远程实例配置文件中AUTHENTICATION参
数指定的认证方式。点击“完成 Finish”按钮,将远程数据库加入目录并关闭向导。这时应
该出现一个确认对话框。点击“测试连接 Test Connection”按钮来确认是否可以成功连接
该数据库,请确认您提供的定义在远程服务器上的用户名和密码是有效的(前提是服务器的
AUTHENTICATION 参数值被设为 SERVER)。如果测试成功,意味着您已成功地将远程数据库加入目录。
否则,需要返回向导确认所有指定的值都是正确的(点击”修改”按钮回顾向导中的设置)。
12. 打开控制中心,尝试查看新加入目录的远程数据库的各个表。
13. 回到配置助手,尝试向目录中添加一个不同的数据库。这次选用“搜索网络 Search the Network”选项。
在向导中采用与刚才同样的方式进行设置。注意,在比较大的网络中,搜索可能会耗较长的时间才返回结果。
实验 #7 创建一个数据表
实验目的
到目前为止,您已经使用过SAMPLE数据库中的现存数据库。本实验,需要创建自己的数据库
和表。您可以使用创建数据表向导(Create Table Wizard) 在SAMPLE数据库中创建两个新表。
实验过程
1. 按之前介绍的方法,打开 Create Table Wizard (Control Center -> All Databases ->
SAMPLE -> (right-click) Tables object -> Create … option
2. 定义表名,列定义和其它的约束。这个表存储在 SAMPLE 数据库中,记录项目的办公用具
采购信息。每次采购,表中都相应该增加一行。这个表有六列:
? product_id: 被购买商品的唯一标识
? description: 商品描述
? quantity: 采购量
? cost: 花费
? image:所购买商品的图片 (可为空)
? project_num: 购买这些商品的目标工程
3. 在这个向导的第一页,在模式名中,输入当前登录的用户 ID,并且使用表名:SUPPLIES。
您也可以输入注释。点击 Next按钮继续向导的下一页。
4. 在这一页,可以为表增加一列。点击 ADD按钮增加一列。
输入列名“product_id”,并选择数据类型:INTEGER。Nullable 置空,点击 Apply 按钮来定义此列。
使用图中所示的选项重复这一步骤完成此表中其它列。当所有的列都已经添加完成,点击
OK按钮,得到刚才所创建列的总结。点击Next按钮继续向导的下一步。
列名 列属性
product_id (completed) INTEGER, NOT NULL
description VARCHAR, length 40, NOT NULL
quantity INTEGER, NOT NULL
cost DECIMAL, Precision 7, Scale 2, NOT NULL
image BLOB, 1MB, NULLABLE, NOT LOGGED
project_num CHAR, length 6, NOT NULL
注意:当声明 LOB 列时选项 NOT LOGGED 可以被指定。它强制约束列可以大于 1GB。对大于 10MB 的 LOB 进行
更改会很快添满日志文件,这种情况下,常常推荐使用此选项。即使使用 NOT LOGGED 选项,事务过程中对 LOB
类型的更改仍可以成功回滚。同时注意image列是唯一一个被定义为 NULLABLE的列。你认为为什么这个列要这样定义呢?
5. 在这一点上,提供创建表的所有的强制约束信息。可以直接跳过其它的页,以使用系统的默
认选项。表建成以后也可以增加键和约束。点击Next按钮继续向导的下一步。
6. 为表增加一外约束条件来限制 quantity 列的值。在向导的 Constraint 页,点击 ADD 按钮。
在 Check Name部分输入:valid_quantities.在 Check Condition部分输入:quantity > 0。点
击 OK按钮。就可以在向导的 Constraint页看到刚才所设置的约束信息列表。
7. 继续操作向导来改变表的其它参数。也可以直接跳到 Summary 页或简单地点击 Finish 按钮来创建表。
此时会让保存系统生成的脚本。
8. 在控制中心,点击 SAMPLE 数据库下的 Tables 文件夹。刚才所创建的表现在可以在列表中
找到。有时候需要刷新控制中心来查看其中的改变。
实验 #8 导出 EXPRESS数据库的 DDL
实验目标:
当您克隆一个数据库时,您希望将这个重建数据库的工作能够尽量简单明了和具有重复性。通
常,使用 SQL 脚本能够达到这个目的,只要安装好 DB2,SQL 脚本就能够执行来进行一系列的数据
库操作。在本实验中,将会使用控制中心来进行这些工作,这里要求您使用控制中心来导出
EXPRESS数据库(在实验#2建立)的DDL。
实验过程:
1. 打开控制中心。
2. 在左边窗口的所有数据库中右键单击 EXPRESS 数据库,在弹出的菜单中选择“Generate
DDL”项,这会启动“Generate DDL”窗口。
3. “Generate DDL”窗口如下所示,里面是导出 DDL的选项。如果您在数据库中创建了其它的
对象,比如表 空间、缓冲池等等,您可以在这里选择您需要导出的对象。如果您没有创建这些对
象,那么请不要选中相应的项。这里没有选中“导出数据库的统计信息”项,因为生产环境中的
数据库可能和开发环境中的数据库有不同的统计信息。同样,不同环境下的设置参数也很可能不
同,所以也没有选中“Gather configuration parameters”项,如果在您的环境中,所有的设置
都和即将发布的设置一样,您可以选中这两个选项。
4. 单击“Object”标签,您可以指定要产生 DDL 的对象。在本实验中,选择您创建数据库所使用的
用户和模式,然后选择生成这个数据库模式中所有对象的 DDL,最后单击“生成”按钮即可开始生成 DDL。
5. 查看生成的 DDL。上一步的生成结果是一个单独的脚本,里面记录了所选择生成对象的全部
SQL语句。现在您可以将这个脚本进行逻辑归类。
6. 新建一个文件夹 C:\express,单击“保存”按钮,将文件命名为 schema.ddl 并保存在这个新建的文件夹中。
7. 在命令编辑器中打开这个新保存的文件。(提示:在命令编辑器中选择“文件”,然后点选
“打开”,在对话框中选择要打开的文件)。
8. 虽然我们需要的只是数据表的 DDL,但是您可以看到这个文件中包括了所有数据库对象的
DDL。这时,将所有的 CREATE TRIGGER 语句移动到一个新文件中,并将这个新文件命名为
triggers.ddl。这里尽管我们只生成了一个触发器,但是将不同的对象分开是一个最好的工程实践。
9. 现在,我们建议删除下面的语句:
数据库连接语句 CONNEXT TO
断开连接语句 DISCONNECT
这时,您有两个脚本了, 一个保存了所有数据表、视图、索引、约束的 DDL
C:\express\schema.ddl
一个保存了触发器的DDL
C:\express\triggers.ddl
10. 整理脚本:
o 删除不需要的注释,例如 –CONNECT TO…
o 将函数和过程分离到独立的文件中。尤其在有很多函数和过程的时候特别有用。您
可以根据他们的功能或者应用将它们分类,例如分成 billing.ddl,math.ddl,stringfunc.ddl等等
11.您可能会注意到,触发器、函数、过程的结尾都使用了一个特殊的字符@。这是为了区分
CREATE
阅读(4405) | 评论(0) | 转发(0) |