Oracle ORA-00933: команда SQL неправильно завершена - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь использовать golang и запрашивать данные из Oracle. Мой SQL-запрос:

SELECT * FROM TABLE1 OFFSET 10 ROWS;

Но выдает ошибку:

EXTRA *errors.withStack=dpiStmt_execute: ORA-00933: SQL command not properly ended

Мой запрос SQL работает нормально, когда я запрашиваю в SQL * Plus, но выдает ошибки при использовании golang.

Ответы [ 3 ]

0 голосов
/ 29 августа 2018

Я почти уверен, что ваша заключительная точка с запятой слишком большая. Точка с запятой - это символ для разделения нескольких операторов SQL или для закрытия блока pl / sql. Поэтому, когда вы пишете его в конце оператора SQL, парсер не знает, как его обработать, потому что он ожидает только одного оператора SQL.

0 голосов
/ 29 августа 2018

Я бы попробовал выполнить запрос без завершающей точки с запятой, как указал Алекс Пул. Многие клиентские библиотеки Oracle (например, cx_Oracle в python, ADO.NET Oracle Libraries) жалуются, если вы пытаетесь выполнить запрос, заканчивающийся точкой с запятой (что совершенно нормально в SQL / Plus)

0 голосов
/ 29 августа 2018

Если смещение не указано, предполагается, что оно равно 0 (нулю). Итак, удалите это предложение (поскольку оно ничего не делает в вашем случае), т.е.

select * from table1

и используйте этот запрос в golang.

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