【发布时间】:2012-06-06 12:49:04
【问题描述】:
我能够连接到 IMS 段并使用 where 子句中的主键执行 sql 查询并选择 * 查询。但是,每当我尝试对另一列进行选择时,都会出现词法错误。
Select * from table where column-name='something'
这会给我异常 'Exception in thread "main" com.ibm.ims.jdbc.TokenMgrError: Lexical error at line 1, column 42. Encountered: "-" (45), after :" "'。如果我将列名作为名字,那么在名字中连字符的位置会出现词汇错误。我已经尝试通过 Prepared Statement 执行此操作,但它仍然无法正常工作。
进行以下更改后,我仍然遇到异常。 Select * from table where 'column-name'='something' 原因:com.ibm.ims.jdbc.ParseException:在第 1 行第 36 列遇到“”\'column-name\'“”。 期待其中之一: ... "(" ...
Select * from table where column+'-'+name='something' 带有'-'的词法错误异常
无效的转义序列(有效的是 \b \t \n \f \r \" \' \ ),这是我在尝试添加反引号或一些转义序列时收到的消息。
【问题讨论】:
-
尝试用双引号将列名括起来。