0
- 21.06.2013 - 12:24
|
Добален Внешний источник данных – несколько таблиц Oracle (строка подключения - "Driver={Microsoft ODBC for Oracle**;Server="+тнс+";Uid=”+юзер+”;Pwd="+пароль) Подключаемся, все ок. Запрос1: ВЫБРАТЬ | Т1.П11, | Т1.П12, | … |ИЗ | ВнешнийИсточникДанных.ВнешнийИсточник1.Таблица.Т1 КАК Т1 |ГДЕ |Т1.П1= &парам1 |И … Запрос1 отрабатывает на Ура. Усложняем запрос, добавляя еще одну табличку. Запрос2: ВЫБРАТЬ | Т1.П11, | Т1.П12, | Т2.П21, | … |ИЗ | ВнешнийИсточникДанных.ВнешнийИсточник1.Таблица.Т1 КАК Т1 | ЛЕВОЕ СОЕДИНЕНИЕ |ВнешнийИсточникДанных.ВнешнийИсточник1.Таблица.Т2 КАК Т2 | ПО Т1.П11 = Т2.П21 И Т1.П12 = Т2.П21 |ГДЕ |Т1.П1= &парам1 |И … Поучаю ошибку: {Обработка.ПроверкаЗагрузкиНакладных.Форма.Форма.Ф орма(92)**: Ошибка при вызове метода контекста (Выполнить) ТЗ = Запрос.Выполнить().Выгрузить(); по причине: Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: NA000 Номер ошибки: 928 Описание: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00928: отсутствует ключевое слово SELECT В чем секрет? | |
1
- 21.06.2013 - 12:42
|
Попробуй сперва в пакетном запросе данные из внешних источников закинуть во временные таблицы, а потом уже их соединять. PLSQL в интертрепации Оракла имеет недольшие диалектные отличия от T-SQL от Микрософта. | |
2
- 21.06.2013 - 13:00
| bma1, внешний источник данных и временная таблица - не совместимы. Выдается ошибка. Об этом же пишет народ, гуглила. Ну и пробовала. Забыла как то сообщение об ошибке звучит. | |
3
- 21.06.2013 - 13:04
| Можно чз ADODB сделать. Одну из обоработок так и реализовала. Просто хотелось использовать Внешние источники данных. Нагляднее показалось. Впечатление, что 1С как-то криво преобразует строку запроса. | |
4
- 21.06.2013 - 13:13
| 2(2) А если по тупому, одним запросом получить данные и выгрузить результат в таблицу значений, а во вотором запросе ее загрузить? | |
5
- 21.06.2013 - 13:14
| 4+ в смысле через запрос.Выполнить().Выгрузить() | |
6
- 21.06.2013 - 13:16
| Если у тебя в тексте запроса нет ошибок, то всё должно работать. | |
7
- 21.06.2013 - 13:30
| Попробуй создать запрос конструктором запросов. | |
8
- 21.06.2013 - 13:51
|
(5) bma1, ага, я думала об этом варианте уже)) Запрос к одиночной табличке внешнего источника в ТЗ1, еще один - к ТЗ2. потом запрос к этим ТЗ... (6) В запросе ошибок по идее нет. Делала с помощью конструктора. Хотя я уже в сомнении. Накидала отчет, запрос тот же с помощью конструктора. При запуске выдает: Ошибка исполнения отчета по причине: Ошибка получения данных по причине: Ошибка создания набора данных "НаборДанных1" по причине: Ошибка при исполнении запроса набора данных по причине: Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 0 Описание: [Microsoft][ODBC driver for Oracle]Ошибка синтаксиса или нарушение прав доступа Блин, ну не знаю где в таком простейшем запросе могла закрасться синтаксическая ошибка. не верю!)) | |
9
- 21.06.2013 - 13:55
| о! а не может, дело быть в неуточнении схемы, т.е.при обращении к табличкам оракла надо перед ней, таблицей, еще схему прописать чз точку... хотя в источник же уже эти таблицы попали и 1С их видит, значит дело не в этом | |
10
- 21.06.2013 - 14:02
| (5) с ТЗ наверное вариант в моем случае не очень, т.к. реальный запрос в себе соединяет 4 таблички. неудобно получится. текста много... но для 2х сойдет ;) | |
11
- 21.06.2013 - 14:30
|
8-awinter >Посмотри в тех.журнале какой запрос уходит в одбс драйвер. Если запрос корректный, то проблема в одбс, попробуй через родной оракловский драйвер подключиться. | |
12
- 21.06.2013 - 14:55
|
Billi, спасибо, в пн гляну! домой пора бежать) как поняла, его еще подключить надо. Ни разу не пользовала. | |
| Интернет-форум Краснодарского края и Краснодара |