php + unixODBC + DB2 + DESCRIBE = 令牌无效?
我尝试运行的代码:
$query = "DESCRIBE TABLE TABLENAME";
$result = odbc_exec($h, $query);
结果:
PHP 警告:odbc_exec():SQL 错误:[unixODBC][IBM][iSeries Access ODBC 驱动程序][DB2 UDB]SQL0104 - 标记 TABLENAME 无效。 有效的 标记:INTO.,SQLExecDirect 中的 SQL 状态 37000 ...
同一连接上的 SELECT、INSERT、UPDATE 或 DELETE 查询没有其他问题。 这是语法错误吗?
Code I am trying to run:
$query = "DESCRIBE TABLE TABLENAME";
$result = odbc_exec($h, $query);
The result:
PHP Warning: odbc_exec(): SQL error: [unixODBC][IBM][iSeries Access
ODBC Driver][DB2 UDB]SQL0104 - Token TABLENAME was not valid. Valid
tokens: INTO., SQL state 37000 in SQLExecDirect in ...
There were no other problems with SELECT, INSERT, UPDATE or DELETE queries on the same connection. Is this a syntax error?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
DB2 的 iSeries 风格不支持 SQL DESCRIBE 语句。 相反,您必须查询系统表:
The iSeries flavor of DB2 does not support the SQL DESCRIBE statement. Instead, you have to query the system table:
来自 iSeries DB2 SQL 参考。
From the iSeries DB2 SQL Reference.
对我来说,您似乎需要为语句提供一种返回值“Valid tokens: INTO”的方法,告诉我这一点。 我以前没有使用过 DESCRIBE,但我想它会返回一些东西。
Interactive SQL 不允许使用该命令,因此我无法为您提供更多帮助。
顺便说一句,将 iSeries 标签添加到您的问题中。 这样你可能会得到更多答案。
To me it looks like you need to provide a way for the statement to return a value "Valid tokens: INTO" tells me that. I haven't used DESCRIBE before, but I would imagine that it returns something.
Interactive SQL doesn't allow the command so I can't really help you much further than that.
BTW, add the iSeries tag to your question. You might get a few more answers that way.
如果您只需要列名,请尝试
我不知道如何获取列类型、索引、键等
If you just need the column names try
I don't know how to get the column types, indexes, keys, &c