Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запрос из Excel в Oracle - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запрос из Excel в Oracle (Макросы/Sub)
Запрос из Excel в Oracle
Elhust Дата: Четверг, 03.08.2017, 09:48 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток уважаемые специалисты и просто гуру.
Возник вопрос по поводу запросов из Excel в Oracle
Суть в том что в PL/SQL Developer запрос работает, а если запускаю его из Excel то пишет ошибку "ORA-00933 команда SQL не закончена надлежащим образом"
[vba]
Код

rs1.Open ( _
"INSERT INTO PCREDCHECK.PCRED_OUT_DATA (vkl_anketa_id, bp_id_sap, proc_name) SELECT vkl_anketa_id_EXCEL, bp_id_sap_EXCEL, proc_name_EXCEL FROM MSB_OUT_DATA.ADD_DATA_EXISTS " & _
"WHERE NOT EXISTS (SELECT vkl_anketa_id, bp_id_sap, proc_name FROM PCREDCHECK.PCRED_OUT_DATA WHERE MSB_OUT_DATA.ADD_DATA_EXISTS.vkl_anketa_id_EXCEL=PCREDCHECK.PCRED_OUT_DATA.vkl_anketa_id); "), cn1
[/vba]
А без дополнения WHERE NOT EXISTS запрос на инсёрт из одной в другую таблицу работает ... :'(


Каждый сам выбирает правила игры
 
Ответить
СообщениеДоброго времени суток уважаемые специалисты и просто гуру.
Возник вопрос по поводу запросов из Excel в Oracle
Суть в том что в PL/SQL Developer запрос работает, а если запускаю его из Excel то пишет ошибку "ORA-00933 команда SQL не закончена надлежащим образом"
[vba]
Код

rs1.Open ( _
"INSERT INTO PCREDCHECK.PCRED_OUT_DATA (vkl_anketa_id, bp_id_sap, proc_name) SELECT vkl_anketa_id_EXCEL, bp_id_sap_EXCEL, proc_name_EXCEL FROM MSB_OUT_DATA.ADD_DATA_EXISTS " & _
"WHERE NOT EXISTS (SELECT vkl_anketa_id, bp_id_sap, proc_name FROM PCREDCHECK.PCRED_OUT_DATA WHERE MSB_OUT_DATA.ADD_DATA_EXISTS.vkl_anketa_id_EXCEL=PCREDCHECK.PCRED_OUT_DATA.vkl_anketa_id); "), cn1
[/vba]
А без дополнения WHERE NOT EXISTS запрос на инсёрт из одной в другую таблицу работает ... :'(

Автор - Elhust
Дата добавления - 03.08.2017 в 09:48
SLAVICK Дата: Четверг, 03.08.2017, 10:41 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2007
Репутация: 674 ±
Замечаний: 0% ±

2007,2010,2013,2016
Возможно нужно добавить в текст запроса:
[vba]
Код
set nocount on
[/vba]
Не знаю как на Оракле - но у меня помогло решить несколько проблем.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеВозможно нужно добавить в текст запроса:
[vba]
Код
set nocount on
[/vba]
Не знаю как на Оракле - но у меня помогло решить несколько проблем.

Автор - SLAVICK
Дата добавления - 03.08.2017 в 10:41
Elhust Дата: Четверг, 03.08.2017, 12:01 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, Спасибо за подсказку , пишут что в Oracle это SET FEEDBACK ON/OFF Это конечно на SQL PLUS но у меня на это PL/SQL ругается ошибкой "ORA-00922 неправильная опция" буду дальше искать но если есть ещё какие мысли буду благодарен


Каждый сам выбирает правила игры

Сообщение отредактировал Elhust - Четверг, 03.08.2017, 12:15
 
Ответить
СообщениеSLAVICK, Спасибо за подсказку , пишут что в Oracle это SET FEEDBACK ON/OFF Это конечно на SQL PLUS но у меня на это PL/SQL ругается ошибкой "ORA-00922 неправильная опция" буду дальше искать но если есть ещё какие мысли буду благодарен

Автор - Elhust
Дата добавления - 03.08.2017 в 12:01
Elhust Дата: Четверг, 03.08.2017, 15:36 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 152
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Поставил перед запросом WORK а после COMMIT; или на оборот туда и обратно менял ставил только COMMIT
После того как вылетит ошибка ORA-02185 ставил перед запросом WORK а после COMMIT;
Иии Всё заработало !!!)))))) вот наверное подумайте бред а ведь сработало ! )


Каждый сам выбирает правила игры
 
Ответить
СообщениеПоставил перед запросом WORK а после COMMIT; или на оборот туда и обратно менял ставил только COMMIT
После того как вылетит ошибка ORA-02185 ставил перед запросом WORK а после COMMIT;
Иии Всё заработало !!!)))))) вот наверное подумайте бред а ведь сработало ! )

Автор - Elhust
Дата добавления - 03.08.2017 в 15:36
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запрос из Excel в Oracle (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!