Переконайтеся, що ім’я об’єкта було правильно вказано в інструкції SQL, включаючи всі необхідні кваліфікатори. Якщо він правильний, переконайтеся, що об’єкт існує в системі перед повторним надсиланням заяви. FETCH fetch-orientation НЕ ДОЗВОЛЕНО, ОСКІЛЬКИ КУРСОР cursor-name МАЄ НЕВІДОМО ПОЗИЦІЮ (sqlcode,sqlstate).
Які найкращі методи написання SQL-запитів, щоб уникнути SQLCODE -805 (пакет не знайдено)?
- Зрозумійте правила іменування пакетів. Будьте першим, хто додасть свій особистий досвід.
- Використовуйте узгоджені параметри прив’язки.
- Повторне прив’язування пакетів після змін.
- Обробляти помилки SQLCODE -805. …
- Ось що ще слід враховувати.
Перевірте синтаксис оператора, щоб переконатися, що він містить правильні специфікації умови. Якщо синтаксис оператора правильний, можливо, виникла проблема з даними, яка спричиняє повернення кількох рядків або значень, коли ви цього не очікуєте.
SQLCODE. Поле SQLCODE містить код повернення SQL. Код може бути нульовим (0), негативним або позитивним: 0 означає, що виконання пройшло успішно. Від'ємні значення вказують на невдале виконання з помилкою.
Для динамічного оператора або для окремого статичного оператора, використовуйте скалярну функцію DECIMAL для визначення значень точності та масштабу для результату, який не викликає помилок. Перед виконанням динамічного оператора встановіть значення спеціального регістра CURRENT PRECISION на DEC15 або D15.