SQL1005N 数据库别名 "ECM" 已存在于本地数据库目录或系统数据库目录中。
SQL1005N 数据库别名 "ECM" 已存在于本地数据库目录或系统数据库目录中。
主要的原因是我在新建数据库的实例时,数据库和别名写了不同的名字,导致建完以后,发现客户端软件中有两个数据库,但其实是一个,更新了一个,另外一个也是同步的。但视觉上让我很崩溃,于是我想删掉这两个重建。但在客户端错误的使用了“移除”而不是删除,所以导致前端看不到,但后台其实还有。再新建的时候就会报如题的错误了。
所以呢。。。删除数据库的时候,应该使用正确的方法,先断掉所有连接,然后使用drop database 命令。。。
回正题,我的解决方法按这位大哥的方法,非常有效。。。【http://blog.csdn.net/jsqdragoon/article/details/6607578】
首先用 db2 list database directory 命令看在系统数据库目录(System Database Directory)中有没有该数据库。
如果有,应该在确定该数据库是没有用的数据库之后用 db2 drop database 数据库名 将其删除。
如果没有,再用 db2 list database directory on location 看在本地数据库目录(Local Database Directory)中有没有该数据库,location指定数据库的位置(如Windows下的C: ,Unix下/home/db2inst1)。如果有,先用 db2 catalog database 数据库名 on location 将数据库编目到节点上,再对其进行删除处理。
解决过程:
1、db2 list database directory 查看系统数据库目录,看不到要找的数据库,表示该数据库不在系统数据
库目录中
2、db2 list database directory on D:(在系统数据库目录找不到的情况下执行该指令,这里是盘符d),然
后发现有sample和source的别名。说明在本地数据库目录中。
3、db2 catalog database 数据库名 on d: 将数据库编目到节点上
4. db2 drop database 数据库名 删除数据库