|
Внешние источники данных (Oracle) | ☑ | ||
---|---|---|---|---|
0
trooba
11.12.20
✎
15:39
|
Создан внешний источник данных в клиент-серверной базе 1с 8.2.19.130. Производится попытка выполнить код:
Если ВнешниеИсточникиДанных.СПР.ПолучитьСостояние()=СостояниеВнешнегоИсточникаДанных.Отключен Тогда ПараметрыПодключения=ВнешниеИсточникиДанных.СПР.ПолучитьОбщиеПараметрыСоединения(); ПараметрыПодключения.СтрокаСоединения="DRIVER={Microsoft ODBC for Oracle}; UID=Пользователь; PWD=Пароль; SERVER=Сервер;"; ПараметрыПодключения.СУБД="Oracle"; ВнешниеИсточникиДанных.СПР.УстановитьОбщиеПараметрыСоединения(ПараметрыПодключения); КонецЕсли; ВнешниеИсточникиДанных.СПР.УстановитьСоединение(); Query = Новый Запрос; Query.Текст = "ВЫБРАТЬ | FIDCMN.DOC_NUMBER, | FIDCMN.DOC_DATE, | FIBDOC.IS_UNLOAD |ИЗ | ВнешнийИсточникДанных.СПР.Таблица.APR_FIDCMN КАК FIDCMN | ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.СПР.Таблица.APR_FIBDOC КАК FIBDOC | ПО FIBDOC.DOC_CODE = FIDCMN.DOC_CODE |ГДЕ | FIDCMN.RECORDID_DCTP = 722 | И НЕ FIDCMN.DOC_NUMBER ЕСТЬ NULL | И FIDCMN.DOC_DATE МЕЖДУ &Нач И &Кон"; Query.УстановитьПараметр("Нач",НачалоПериода.Дата); Query.УстановитьПараметр("Кон",КонецДня(КонецПериода.Дата)); Выборка=Query.Выполнить().Выбрать(); Выдается ошибка, что это может быть и как лечить? Сразу оговорюсь, что можно через ADO, но хотелось через ВИД. по причине: Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: 42000 Номер ошибки: 907 Описание: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00907: missing right parenthesis |
|||
1
ДНН
11.12.20
✎
15:45
|
(0) Возьми все условия в скобки
|
|||
2
acht
11.12.20
✎
15:48
|
(0) > что это может быть
8.2.19.130 |
|||
3
trooba
11.12.20
✎
15:49
|
(1) Делал, не помогает
|
|||
4
ДНН
11.12.20
✎
15:52
|
(3) ПО FIBDOC.DOC_CODE = FIDCMN.DOC_CODE
это тоже? Попробуй оставить одну таблицу и без условий, проверь. Если ошибки не будет то добавь соединение, снова проверь. Потом условия и т.д. |
|||
5
trooba
11.12.20
✎
15:53
|
(4) С одной работает, проблема в соединении, как я понял
|
|||
6
trooba
11.12.20
✎
15:54
|
(4) Все в скобках, это тоже, ошибка такая же, тип соединения меняешь, код ошибки становится 0
|
|||
7
trooba
11.12.20
✎
16:16
|
Через ADO запрос работает успешно, текст
Query = "Select fidcmn.doc_number, | fidcmn.doc_date, | fibdoc.doc_number, | fibdoc.is_unload | from apr.fidcmn | left outer join apr.fibdoc | on fibdoc.doc_code = fidcmn.doc_code | where fidcmn.recordid_dctp = 722 and fidcmn.doc_number is not null | and fidcmn.doc_date >= to_date('@@@@','DD-MM-YYYY') | and fidcmn.doc_date <= to_date('####','DD-MM-YYYY')"; |
|||
8
trooba
14.12.20
✎
09:08
|
Подниму, может у кого еще мысли появятся...
|
|||
9
mikecool
14.12.20
✎
09:31
|
(8) не смущает, что запросы разные? попробуй свои параметры к ту_дейт привести
|
|||
10
trooba
14.12.20
✎
09:36
|
(9) Они были 1 в 1, толку не было, что смущает? Что тут отличается? То, что период по другому или, что номер убран, который не нужен? Проблема возникает именно в соединении, как ждая из таблиц по отдельности данные выводит
|
|||
11
trooba
14.12.20
✎
09:37
|
(9) К ту дейт? Как? В таком же формате в текст запроса? Нет- ошибка, запросы 1с не позволяют этого делать
|
|||
12
Конструктор1С
14.12.20
✎
16:24
|
Твой запрос можно переписать на внутреннее соединение
|
|||
13
Конструктор1С
14.12.20
✎
16:25
|
А не, вру, фильтруется только по правой таблице
|
|||
14
trooba
14.12.20
✎
16:25
|
(12) изменял вид соединения- дает ошибку с кодом 0
|
|||
15
Конструктор1С
14.12.20
✎
16:31
|
Попробуй через другой драйвер коннектиться
|
|||
16
trooba
14.12.20
✎
16:49
|
(15) Через этот драйвер, через ado все работает.
|
|||
17
Конструктор1С
15.12.20
✎
03:45
|
(16) ВИД сам по себе драйвера не поставляет, а коннектится через имеющиеся. У нас ВИД к Oracle через OraOLEDB.Oracle.1 коннектится
|
|||
18
sdf
15.12.20
✎
08:18
|
(0) мало исходных данных:
-другие запросы работают? -в пользовательском режиме 1с видит эти таблицы? -если условие убрать - запрос выполнится? -даты в оракле в каком формате? поддерживаю идею насчет драйвера - лучше использовать нативный оракловый |
|||
19
trooba
16.12.20
✎
09:57
|
(18) Все да. "поддерживаю идею насчет драйвера - лучше использовать нативный оракловый" Который именно?
|
|||
20
trooba
16.12.20
✎
09:59
|
(18) через адодб все круто, все работает. Заморочился и решил переписать на ВИД. Не выходит каменный цветок.
|
|||
21
trooba
16.12.20
✎
10:00
|
(18) В запросе же видно, что подменяю текст с датой.... на "ДД-ММ-ГГГГ"
|
|||
22
Конструктор1С
16.12.20
✎
13:29
|
(19) поэкспериментируй, попробуй несколько различных. Сейчас у тебя мелкософтовский, воткни оракловский
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |