1>关闭所有使用这个数据库的应用程序(必要时重起系统)
2>在ISQL中drop table mis_obj_type;(如果这个表已存在的话,用SQL EXPLORE看看);
3>按你建表的步骤再建一遍
如果你不想drop table mis_obj_type;你可以用
alter table mis_obj_type (OBJ_TYPE_ID DOUBLE PRECISION NOT NULL,
OBJ_TYPE_NAME VARCHAR(32) NOT NULL,
SUPER_OBJ_TYPE_ID DOUBLE PRECISION NOT NULL,
OBJ_TYPE_TAB_SCHEMA VARCHAR(32),
OBJ_TYPE_TAB_NAME VARCHAR(32),
OBJ_TYPE_CAN_MODIFY CHAR(1) DEFAULT 'T'
NOT NULL,
OBJ_TYPE_CAN_DELETE CHAR(1) DEFAULT 'T'
NOT NULL,
OBJ_TYPE_FLAG DOUBLE PRECISION DEFAULT 0
NOT NULL,
OBJ_TYPE_DISP_IND DOUBLE PRECISION DEFAULT 1
NOT NULL,
OBJ_TYPE_CODE CHAR(16) DEFAULT '****************'
NOT NULL,
PRIMARY KEY (OBJ_TYPE_ID));应该也行

解决方案 »

  1.   

    我在我的Interbase server 5.1.1上试验了,结果一切运行正常。我想可能是你机器上某个应用程序已经使用了这个数据表。你可以关闭一些有关的应用程序。再在CREATE TABLE MIS_OBJ_OBJ 前面加上:
      drop table mis_obj_type;我想就OK啦。
      

  2.   

    首先感谢两位朋友的帮助!
    INTERBASE有点莫名其妙,在它的SERVER MANAGER 中登录SEVER LOGIN即可,
     若再登录到你的DATABASE, 在做上述操作时, 肯定报错!