Db2 来自QSYS2.SysTables的查询返回错误“;代币“无效”;

Db2 来自QSYS2.SysTables的查询返回错误“;代币“无效”;,db2,odbc,ibm-midrange,Db2,Odbc,Ibm Midrange,我正在尝试使用Excel、VBA和ODBC驱动程序从AS400DB读取数据。连接成功,但没有一个查询正在从数据库检索数据。例如:select查询不起作用: select * from QSYS2.SysTables; 客户端收到以下错误消息: [IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0104-令牌;无效的有效令牌: 我的问题出了什么问题 Edit:我试图只从AS400读取数据,而不是从DB2读取数据。我想从SysTables(系统

我正在尝试使用Excel、VBA和ODBC驱动程序从AS400DB读取数据。连接成功,但没有一个查询正在从数据库检索数据。例如:select查询不起作用:

select * from QSYS2.SysTables;
客户端收到以下错误消息:

[IBM][System i Access ODBC Driver][DB2 for i5/OS]SQL0104-令牌;无效的有效令牌:

我的问题出了什么问题


Edit:我试图只从AS400读取数据,而不是从DB2读取数据。我想从SysTables(系统表)中读取表名

这是一个检索查询的示例:

"Select * from Tablename";

如果不起作用,请尝试在Microsoft中检查手册以进行查询。它不同于标准的SQL查询。

删除单个语句执行的语句终止字符(
)。

您说的是DB2数据库还是“AS400数据库”?请发布您的实际查询,以及您试图查询的表的架构。一些样本数据也会有帮助。请记住:@BryanH AS/400(现在称为IBM i on Power Systems)已将DB2集成到操作系统中。As/400数据库是DB2.Microsoft??这是ibmdb2fori.hijames,感谢您的回复。我无法直接访问数据库。我删除了“;”并将应用程序发送到客户端。我会尽快让你知道情况的。嗨,詹姆斯,刚刚收到客户的反馈。移除“;”后工作正常。非常感谢您的回答。James,我可以使用AS400的标准SQL吗?或者在语法上有什么不同。当我在表的字段名周围运行带有[]的查询时,它不会提取任何数据。如果字段名周围没有方括号,则相同的查询也可以工作。请澄清,该数据库是DB/2的一个版本。在字段名周围使用括号是TSQL(MSSQL)惯例。ANSI SQL使用单引号。如果有疑问,请查看文档:非常感谢您的快速响应。