在客户端上访问db/400有两种方法 一是通过as/400所提供的client access, 二是通过db2 connect产品(该产品被包含在db2 ESE版本中,也可单独订购)。有两种方法来配置db2 connect从而达到访问db2/400的目的,一是通过db2 connect带的客户端配置帮助(client configuration assistant), 该程序是GUI界面, 易于使用,这里就不详述了二是通过db2命令行的命令, 这里主要介绍了如何使用db2命令行的方式来访问db2/400
1用OS/400命令WRKRDBDIRE查看已定义数据库。
如:S653924B LOCAL
2在安装了DB2 Connect产品的PC的命令行窗口,用以下命令连接DB2/400数据库
db2 catalog tcpip node node400 remote as400ip server 446
db2 catalog dcs db570 as s653924b
db2 catalog db db570 at node node400 authentication dcs
注意:
其中: as400ip是as/400的IP地址;
446是端口号;
s653924b是上图所列的数据库名称;
3连接DB2/400数据库
db2 connect to db user 用户名
输入 xiaoqing 的当前密码
假设A机使用的是SQL server吧,所以把sql server装在A机。(我现在只会用sql server。。),那你A机的数据库就要启用它的协议,创建或是启用sa账户,这样,其他机子就能访问A机的DB2,然后C机在连接数据库时,数据库的地址就是A机的IP地址,(假如是局域网连接的,就填写A机的本地连接的IP),账户密码就是启用的SA,或是创建的用户(这个用户必须设定权限,简单点就把它设置成sysadmin),这样子,C机就能访问A机的数据库DB2,在做网页或系统的时候,调用数据。C机做好网站或系统后,生成网站,把网站挂在IIS上,稍微设置下,不懂百度下,就几个地方,我就不打出来了。这个样子,B机就不用去连接DB2。
1首先将数据库服务端的数据库映射到客户端(因为使用ODBC的原因)
映射命令如下:
Db2cmd
Db2
//将远程节点19216880207:50001映射为node207本地节点
catalog tcpip node node207 remote 19216880207 server 50001
//映射数据库zcldb到本地node207节点
catalog database zcldb at node node207
2新增ODBC,连接到本地DB2映射数据库
3应用程序连接ODBC
连接字符串:
<add name="DB2ConnectionString" connectionString="driver={IBM DB2 ODBC DRIVER};DSN=localdbname;UID=user;DBALIAS=localdbname;MODE=SHARE;PWD=password;" providerName="SystemDataOdbc"/>
我用的CentOS系统,内核是Linux。 进入图形界面后,在桌面上右键点击“创建新终端”
1在命令行界面中用如下语句切换到db2inst1账户中:
su - db2inst1
注意,命令要小写,中间的减号是半角的。其中db2inst1账户(同时也是实例、进程)是在安装DB2过程中创建的一个默认账户,相当于Windows中的那个DB2实例,要想执行各种db2的命令,需要在这个账户下 *** 作;
2在该账户下,可以打开控制中心,也可以进入到命令行处理器。进入命令行处理器的方法很简单,直接用db2命令,然后回车即可;
3打开控制中心稍微有点麻烦,需要在桌面上另外打开一个命令行窗口,在其中输入:
xhost local:db2
然后在db2inst1账户所在的窗口中,输入命令:
db2cc &
就可以打开控制中心。
4现在可以查看当前实例
db2ilist
如果需要创建表,则需要打开数据库管理服务,输入命令:
su - db2inst1
db2start //启动db2工作实例
db2stop //停止db2实例
db2set -all //查看db2所有注册表变量
在变量列表中有一个db2管理用户:DB2ADMINSERVER=XXXXX
只有切换到管理用户才可以创建表 su - XXXXX
然后,输入命令: db2admin start 启动管理实例
说明:
在Linux环境下,一个用户对应一个实例,创建数据库必须在实例下创建,因此切换到用户即可切换到实例。命令如下:
su - db2inst1
db2 get instance
在一个DB2 实例下,可以创建多个database(具体每个实例下可以创建多少个database,可以通过DB2 GET DBM CFG查看一旦建立了数据库之后,就可以对其进行 *** 作,然而,在向数据库中建立对象或访问数据库中的对象(数据)之前,必须先知道如何启动和停止数据库
本小节简单介绍了db2 database通过command line的方式如何实现启动和停止
激活数据库
如果在database没有激活之前,就在应用中使用connect to database_name或隐式连接,那么应用就必须要进行等待,知道数据库管理器启动了你要连接的数据库一般第一个应用会引发等待数据库管理器执行数据库启动的所有开销
我们也可以使用activate database database_name这样的命令启动特定的数据库这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。一般情况下,DB2 DBA会提前激活所有必要的数据库
注意:1)如果发出activate database命令的应用已经与一个database建立了活动的数据库连接,就回返回错误消息
2)如果需要重新启动(restart)的数据库接受了一个activate database命令,那么这个activate database命令就会象connect to 或隐式连接一样工作
3)如果数据库配置了
启用的自动重新启动 (AUTORESTART) = ON
那么在activate database命令对其初始化之前,数据库会重新启动
察看指定数据库的配置参数
--默认
DB2 GET DB CFG FOR study
--分屏显示
DB2 GET DB CFG FOR study | More
--将显示结果存入studytxt 文件中
DB2 GET DB CFG FOR study > studytxt
下面是一个示例,我在当前DB2实例下,创建了3个database,我利用activate命令挨个将他们激活
D:DB2BIN>db2 db2start
DB20000I DB2START命令成功完成。
D:DB2BIN>db2 list database directory
系统数据库目录
目录中的条目数 = 3
数据库 1 条目:
数据库别名 = TEST
数据库名称 = TEST
本地数据库目录 = D:DB2test
数据库发行版级别 = c00
注释 = test
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 2 条目:
数据库别名 = BANK
数据库名称 = BANK
本地数据库目录 = D:db2bank
数据库发行版级别 = c00
注释 = bank
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 3 条目:
数据库别名 = STUDY
数据库名称 = STUDY
本地数据库目录 = D:db2study
数据库发行版级别 = c00
注释 = STUDY
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 activate database bank
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
D:DB2BIN>db2 activate database test
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
数据库名称 = TEST
当前连接的应用程序 = 0
数据库路径 = D:DB2testDB2NODE0000SQL00001
D:DB2BIN>停止数据库
由activate database命令初始化的数据库可以由deactivate database命令关闭,也可以通过stop database manager(或db2stop)命令终止数据库管理器来关闭
如果使用activate
database命令初始化一个数据库,那么最后一个与数据库断开连接的应用就不会关闭数据库必须要使用deactivate
database在这种情况下,stop database manager(或db2stop)会关闭数据库,也会终止实例
如果使用connect
to 或隐式地连接启动数据库,然后再由另外一个应用对相同的数据库发出activate database命令,那么就必须使用deactivate
database命令关闭数据库如果没有使用activate
database启动数据库,那么当最后一个应用断开与数据库连接的时候,数据库就会关闭
示例一:使用connect to方式启动的数据库
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 connect to study --连接到study数据库,将自动激活study数据库
数据库连接信息
数据库服务器 = DB2/NT 950
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001
说明:数据库被激活,并有一个应用连接上来(就上面的connect to study *** 作)
D:DB2BIN>db2 connect reset --断开连接
DB20000I SQL命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>
说明:可以发现,上面的连接断开后,数据库study也自动停止(因为这个study数据库是通过connect to 的方式激活的)
示例二:使用activate database方式启动的数据库
D:DB2BIN>db2 list active databases --这个时候没有启动的数据库
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study --用activate database激活study数据库
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases --可以看到study数据已经激活,但没有应用连接上来
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect to study --发起一个连接到study数据库
数据库连接信息
数据库服务器 = DB2/NT 950
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases --再看一下活动的数据库,发现study 数据库上有一个应用连接上来了
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect reset --关闭刚才那个连接,看看数据库是不是会自动关闭
DB20000I SQL命令成功完成。
D:DB2BIN>db2 list active databases --数据库依然启动,虽然没有了任何连接
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 deactivate database study --使用deactivate database命令关闭数据库
DB20000I DEACTIVATE DATABASE命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>
以上就是关于如何通过DB2 connect连接DB2/400数据库全部的内容,包括:如何通过DB2 connect连接DB2/400数据库、ASP.NET连接DB2数据库。、db2数据库如何连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)