互联网服务

使用了别名后,数据库无法删除,帮忙看下

各位好,今天建了个数据库,语句如下:F:>db2 create database JUSTONE alias JUST using codeset UTF-8 TERRITORY CN创建成功之后,查看当前存在的数据库:F:>db2 list db directory数据库 1 条目: 数据库别名               &... 显示全部
各位好,今天建了个数据库,语句如下:
F:>db2 create database JUSTONE alias JUST using codeset UTF-8 TERRITORY CN

创建成功之后,查看当前存在的数据库:
F:>db2 list db directory
数据库 1 条目:
数据库别名                      = JUST
数据库名称                      = JUSTONE
本地数据库目录                  = E:
数据库发行版级别                = d.00
注释                            =
目录条目类型                    = 间接
目录数据库分区号                = 0
备用服务器主机名                =
备用服务器端口号                =
数据库 2 条目:
数据库别名                      = JUSTONE
数据库名称                      = JUSTONE
本地数据库目录                  = E:
数据库发行版级别                = d.00
注释                            =
目录条目类型                    = 间接
目录数据库分区号                = 0
备用服务器主机名                =
备用服务器端口号                =

这个时候执行
F:>db2 connect to JUSTONE
F:>db2 connect to JUST
都没有问题。

然后我执行了下
F:>db2 drop database JUST

再次查看数据库列表:

F:>db2 list db directory
数据库 1 条目:
数据库别名                      = JUSTONE
数据库名称                      = JUSTONE
本地数据库目录                  = E:
数据库发行版级别                = d.00
注释                            =
目录条目类型                    = 间接
目录数据库分区号                = 0
备用服务器主机名                =
备用服务器端口号                =

然后连接这个JUSTONE数据库连接不上,删除也删除不掉,提示:
F:>db2 connect to JUSTONE
SQL1013N  找不到数据库别名或数据库名称 "JUSTONE"。  SQLSTATE=42705
F:>db2 DROP DATABASE JUSTONE
SQL1013N  找不到数据库别名或数据库名称 "JUSTONE "。  SQLSTATE=42705

请问下是怎么回事呢? 收起
参与10

查看其它 8 个回答lauyatsao 的回答

lauyatsao lauyatsao 软件开发工程师 江苏南京
我理解楼主遇到的问题,从使用者的角度来说是没有必要在系统数据库编目中出现两次(数据库名和数据库别名),只是需要别名的编目即可正常使用了(包括通过别名删除数据库)。这样双编目导致使用中的很多问题,例如删除数据库,无论通过数据库名还是别名都导致系统数据库编目中的残留,另外如果原来有同名数据库的编目,那么数据库的创建就会失败,实际上的操作是没有完全回退,导致系统残留。
变通方法:
既然有系统数据库编目和本地数据库编目的分层和交互,可以充分利用好他们之间的关系。楼主的数据库别名的引进不知是出于什么目的考虑,最方便的是在创建玩数据库后手动取消以数据库名字的系统编目,例如:uncatalog db JUSTONE

至于如何查看本地编目,首先知道数据库创建的主目录(楼主需要知道相应的目录结构以及系统数据库编目和本地数据库编目的区别和联系以及对应的配置文件信息),对于你的案例,list db directory on f show detail即可。
互联网服务 · 2013-01-21
浏览939

回答者

lauyatsao
软件开发工程师 江苏南京
评论164

lauyatsao 最近回答过的问题

回答状态

  • 发布时间:2013-01-21
  • 关注会员:1 人
  • 回答浏览:939
  • X社区推广