如何修改DB2的模式名?模式名变了,应用程序还能正常编译运行吗?

大家好,我想请教个模式名的问题。
AIX环境,我在A用户下备了一个镜像,当然表的模式名是A;然后我使用这个镜像在B用户下进行了数据库恢复,在B用户下数据库里的表的模式名还是A,当然我知道不指定模式名的话默认是B。

所以在B下面,如果我需要查询的话,我需要db2 "select * from A.tablename"

那么我怎么才能还是使用db2 "select * from tablename"而不用指定模式名进行查询呢?
一个是db2 "set schema B",这个命令运行后我觉得手工执行sql都不用指定模式名了,但是因为应用程序编写的时候没有在语句里指定模式名,应用程序重新编译后能正常运行吗?还是只需要重绑定一下?

再一个方法是修改表的模式名为B,我知道的方法就是使用db2move export,然后替换掉db2move.lst里的模式名,再db2move import,但是这个方法是不是太麻烦了?能不能直接update sysibm.SYSSCHEMA 之类的表把模式名修改一下?

请各位朋友不吝赐教,谢谢!

作者: herobox   发布时间: 2011-01-21

回复 herobox


用alias试试?或者运行的时候临时切换到A用户?

作者: 3sane   发布时间: 2011-01-21