DSN8a10.emp是未定义的名称

时间:2019-02-11 17:36:39

标签: sql db2

我刚刚通过运行以下查询创建了一个名为TELE的表:

CREATE TABLE TELE
(NAME2 VARCHAR(15) NOT NULL,
NAME1 VARCHAR(12) NOT NULL,
PHONE CHAR(4));

现在,我正在尝试通过运行以下查询,用DSN8A10.EMP表中的数据填充该数据:

INSERT INTO TELE
SELECT LASTNAME, FIRSTNME, PHONENO
FROM DSN8A10.EMP
WHERE WORKDEPT = 'D21';

但是出现以下错误:

  

[42704] [-204]“ DSN8A10.EMP”是未定义的名称。SQLCODE= -204,   SQLSTATE = 42704,DRIVER = 4.23.42。

我正在将IntelliJ IDEA与com.ibm.db2.jcc.DB2Driver数据服务器驱动程序一起使用。

可以帮我解决一个问题吗? 预先感谢!

1 个答案:

答案 0 :(得分:0)

一些可能性:

  • 该表不存在,因为您在模式名或表名中有错字

  • 该表确实存在,但是在另一个数据库中

  • 该表存在于数据库中,但是名称或架构具有MiXed大小写,在这种情况下,必须在架构名称和表名称周围使用双引号。因此,“ DSN8a10” .emp是与DSN8a10.EMP不同的。

如果Db2服务器在Linux / Unix / Windows上运行,此查询可能有助于显示大小写混合的名称。表格可能是视图,别名或昵称。

<form id="table_form">
   <label>how many rows ?</label>
   <input
     type="number"
     name="rows"
     min={min_tablerows}
     max={max_tablerows}
     required
     value={tablerows}
     onChange={onChangeHandeler} />
   <label>how many columns ?</label>
   <input
     type="number"
     name="columns"
     min={min_tablecolumns}
     required
     value={tablecolumns}
     onChange={onChangeHandeler} />
   <button
     type="submit"
     form="table_form"
     onClick={onClickHandeler}>
       <FontAwesomeIcon icon={faCheck} />
   </button>
</form>

如果Db2服务器在i系列上运行:请改用QSYS2.SYSTABLES。

select tabschema, tabname from syscat.tables where upper(tabschema)='DSN8A10' and upper(tabname) = 'EMP'

如果Db2服务器在Z / OS上运行:请改用SYSIBM.SYSTABLES:

select table_schema, table_name from qsys2.systables where upper(table_schema)='DSN8A10' and table_name='EMP'