PHP +的unixODBC + DB2 + DESCRIBE =令牌无效?(php + unixO

2019-07-21 12:38发布

代码我试图运行:

$query = "DESCRIBE TABLE TABLENAME";
$result = odbc_exec($h, $query);

结果:

PHP的警告:odbc_exec():SQL错误:[的unixODBC] [IBM] [i系列访问ODBC驱动程序] [DB2 UDB] SQL0104 - 令牌TABLENAME无效。 有效标记:INTO,SQL状态37000在SQLExecDirect的中...

有相同的连接上没有其它问题,SELECT,INSERT,UPDATE或DELETE查询。 这是一个语法错误?

Answer 1:

DB2的iSeries的味道不支持SQL DESCRIBE语句。 相反,你要查询的系统表:

select * from qsys2.columns where table_schema = 'my_schema' and table_name = 'my_table'


Answer 2:

这种说法只能嵌入到应用程序。 这是一个不能动态准备的可执行语句。 它不能在Java中指定。

从iSeries DB2 SQL参考。



Answer 3:

对我来说,它看起来像你需要提供的语句返回值的方法“有效令牌:分为”告诉我。 我没有用之前形容,但我会想象它返回的东西。

Interactive SQL中不允许命令,所以我不能真正帮助你更进一步比。

顺便说一句,在iSeries标签添加到您的问题。 你可能会得到一些更多的答案的方式。



Answer 4:

如果你只需要列名尝试

select * from <TABLE> where 0 = 1

我不知道怎么弄的列类型,索引,键&C



文章来源: php + unixODBC + DB2 + DESCRIBE = token not valid?