代码我试图运行:
$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查询。 这是一个语法错误?
DB2的iSeries的味道不支持SQL DESCRIBE语句。 相反,你要查询的系统表:
select * from qsys2.columns where table_schema = 'my_schema' and table_name = 'my_table'
这种说法只能嵌入到应用程序。 这是一个不能动态准备的可执行语句。 它不能在Java中指定。
从iSeries DB2 SQL参考。
对我来说,它看起来像你需要提供的语句返回值的方法“有效令牌:分为”告诉我。 我没有用之前形容,但我会想象它返回的东西。
Interactive SQL中不允许命令,所以我不能真正帮助你更进一步比。
顺便说一句,在iSeries标签添加到您的问题。 你可能会得到一些更多的答案的方式。
如果你只需要列名尝试
select * from <TABLE> where 0 = 1
我不知道怎么弄的列类型,索引,键&C