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: Encountered " "\'column-name\' "" at line 1, column 36. : ... "(" .. .
select * from table where column+'-'+name='something' '-' で語彙エラーの例外
無効なエスケープ シーケンス (有効なものは \b \t \n \f \r \" \' \ です)。これは、バッククォートまたはエスケープ シーケンスを追加しようとしたときに表示されるメッセージです。