提问人:tpk 提问时间:10/1/2008 最后编辑:Benny Hilltpk 更新时间:11/24/2013 访问量:3195
php + unixODBC + DB2 + DESCRIBE = 令牌无效?
php + unixODBC + DB2 + DESCRIBE = token not valid?
问:
我正在尝试运行的代码:
$query = "DESCRIBE TABLE TABLENAME";
$result = odbc_exec($h, $query);
结果:
PHP 警告:odbc_exec():SQL 错误:[unixODBC][IBM][iSeries Access ODBC 驱动程序][DB2 UDB]SQL0104 - 令牌 TABLENAME 无效。有效 tokens: INTO., SQLExecDirect 中的 SQL 状态 37000 ...
同一连接上的 SELECT、INSERT、UPDATE 或 DELETE 查询没有其他问题。这是语法错误吗?
答:
0赞
Mike Wills
10/1/2008
#1
对我来说,看起来您需要为语句提供一种方法来返回一个值“有效令牌:INTO”告诉我这一点。我以前没有使用过 DESCRIBE ,但我想它会返回一些东西。
Interactive SQL 不允许使用该命令,因此我无法为您提供更多帮助。
顺便说一句,将 iSeries 标签添加到您的问题中。这样你可能会得到更多的答案。
0赞
pmg
10/6/2008
#2
如果您只需要列名,请尝试
select * from <TABLE> where 0 = 1
我不知道如何获取列类型、索引、键和
6赞
Ian McLaird
10/9/2008
#3
DB2 的 iSeries 风格不支持 SQL DESCRIBE 语句。相反,您必须查询系统表:
select * from qsys2.columns where table_schema = 'my_schema' and table_name = 'my_table'
评论
0赞
K Richard
7/16/2010
非常感谢你这个例子。您是否也知道如何获取字段描述?
1赞
Paul Morgan
11/4/2008
#4
此语句只能嵌入到应用程序中。它是一个无法动态准备的可执行语句。不得在 Java 中指定它。
摘自 iSeries DB2 SQL Reference。
评论