【问题标题】:Newly added table not working新添加的表不起作用
【发布时间】:2015-10-23 07:25:11
【问题描述】:

我正在研究 DB2 9.7 数据库。我将 SquirrelSQL 用于 GUI 目的。然而,自从我对我的一个表应用了 alter 命令后,我开始面临表的问题,并且任何进一步的选择查询都要求对表进行“重组”。为了克服这个问题,我重命名了旧表并创建了新表。但是创建查询在 Squirrel 中没有正确执行,因此为我的 STS(Spring Source Tool Suite)下载了 DBViewer。我从 DBViewer 执行了创建表查询,但现在的问题是我也无法访问新创建的表来自我的 JAVA 代码,也不是来自 Squirrel。

我完全不知道可能是什么问题。有人知道吗?

以下是我的表格结构:

CREATE TABLE DB2ADMIN.CERT
(
    CERT_ID             CHAR(36) NOT NULL,
    CERT_CD          CHAR(1) NOT NULL,
    CERT_NBR            CHAR(10) NOT NULL,
    CERT_REQ_USR_CD_1           CHAR(10),
    CERT_REQ_USR_CD_2           CHAR(10),
    CERT_REQ_USR_CD_3           CHAR(10),
    CERT_REQ_USR_CD_4           CHAR(10),
    CERT_REQ_USR_TXT_1          VARCHAR(255),
    CERT_REQ_USR_TXT_2          VARCHAR(255),
    CERT_REQ_USR_TXT_3          VARCHAR(255),
    CERT_REQ_USR_TXT_4          VARCHAR(255),
    CERT_REQ_USR_TXT_5          VARCHAR(255),
    CERT_REQ_USR_TXT_6          VARCHAR(255),
    CERT_REQ_USR_TXT_7          VARCHAR(255),
    CERT_REQ_USR_TXT_8          VARCHAR(255),
    CERT_REQ_USR_TXT_9          VARCHAR(255),
    CERT_REQ_USR_DT             DATE,
    LAST_MDF_USER_ID            CHAR(25) NOT NULL,
    LAST_MDF_ACY_TS             TIMESTAMP(26,6) NOT NULL,
    CONSTRAINT SQL111017085116710 PRIMARY KEY (CERT_ID)
);

在我的 alter 查询中,我将 CERT_NBR 的数据类型从 INTEGER 更改为 CHAR

使用命令;

ALTER TABLE CERT ALTER COLUMN CERT_NBR SET DATA TYPE INTEGER

【问题讨论】:

  • 您遇到了什么错误?这张桌子是什么样子的?你用 ALTER 做了什么改变?请提供更多详细信息
  • 查看 IBM 手册 link,了解更多关于 ALTER 可以做什么和不能做什么的信息

标签: sql jdbc db2 spring-jdbc


【解决方案1】:

要求对表进行“重组”的任何进一步选择查询。

这在 DB2 中更改表后很常见。它应该可以通过调用来轻松解决:

reorg table table-name;

这是一个命令行命令,而不是一个 sql 语句,但您可以使用admin_cmd 过程通过 SQL 调用它:

call sysproc.admin_cmd('reorg table table-name');

我不确定您为什么无法访问新表。错误消息应该可以帮助您解决这个问题。一些可能性:

  • 您创建的用户名与您尝试访问时使用的用户名不同。
  • 您从未在 create table 语句之后提交过。
  • 出了点问题,表最终处于不可操作状态。

【讨论】:

  • thanx 我能够在 admin_cmd 的帮助下执行查询
  • @pkn1230,我的回答(以及之前对您问题的回答)似乎给出了您需要的确切解决方案:sysproc.admin_cmd。你试过这个吗?如果您遇到并且仍然遇到问题,请更新您的问题的详细信息或提出新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-09
  • 1970-01-01
相关资源
最近更新 更多