我刚刚通过运行以下查询创建了一个名为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数据服务器驱动程序一起使用。
可以帮我解决一个问题吗? 预先感谢!
答案 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'