AS400 - токен "!" недействительный - PullRequest
0 голосов
/ 22 апреля 2020

Я выполняю запрос SQL, используя RUN SQL в программе CL. Этот запрос является базовым c оператором SELECT и использует восклицательный знак для объединения строк.

В течение многих лет до вчерашнего дня это работало нормально. Теперь, из ниоткуда, я получил сообщение SQL0104 , отображающее Token '!' недействительно каждый раз, когда я запускаю программу.

Если я запускаю запрос вручную, используя STR SQL, он работает.

Это кому-нибудь приходило в голову?

С уважением.

1 Ответ

3 голосов
/ 22 апреля 2020

Оператор DB2 для конкатенации строк на самом деле представляет собой двойной канал ||.

В документации говорится :

Используйте оператор конкатенации (|| ) объединить два значения выражения в одну строку. В некоторых однобайтовых наборах не-Engli sh || может отображаться как !! (восклицательные знаки) или другие специальные символы.

Таким образом, ваша проблема может быть вызвана изменение набора символов вашего клиента. Просто используйте стандартный оператор, и ваш код будет работать независимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...