2015-01-13 2 views
1

Я пытаюсь выполнить команду db2 в командной строке unix db2 -tvsf UC_Repair_History.sql, это приводит к ошибке ниже. Я проверил в файле только инструкции вставки там. Я выполнил аналогичный файл, которые выполняются, этот не выполняется. ОШИБКА приводится нижеDB21034E IBM db2 Ошибка

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0104N An unexpected token "END-OF-STATEMENT" was found following "�". Expected tokens may include: "JOIN <joined_table>". SQLSTATE=42601

Пожалуйста, любой помощи

+1

Вы используете Windows? различное кодирование? откройте файл в текстовом редакторе, например Notepad ++, и проверьте документ. Вероятно, у вас должен быть странный персонаж. Тогда может возникнуть проблема с кодированием и символом конечной линии. – AngocA

+0

Текстовое кодирование находится в формате utf-8. эти скрипты находятся в машине Linux. –

+1

Вы открыли файл в vi? должен быть символ, недействительный в текущей кодировке, такой как: çáéíóúñ £ μè§ – AngocA

ответ

2

При выполнении копирования & пасты, например, из Word могут использоваться типографские котировки, которые CLI DB2 не понимает. В зависимости от шрифта может быть трудно определить разницу. В следующем случае первый оператор выбора был скопирован из Word, во втором заявлении я перепечатал кавычки:

db2 => SELECT COUNT(*) FROM SYSCAT.TABLES WHERE TABSCHEMA='SAPSR3' 
SQL0104N An unexpected token "'SAPSR3'" was found following "RE 
TABSCHEMA=’S". Expected tokens may include: "END-OF-STATEMENT". 
SQLSTATE=42601 

db2 => SELECT COUNT(*) FROM SYSCAT.TABLES WHERE TABSCHEMA='SAPSR3' 

1 
----------- 
      0 

    1 record(s) selected.