|   |   | 
| 
 | Внешние источники данных (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) поэкспериментируй, попробуй несколько различных. Сейчас у тебя мелкософтовский, воткни оракловский     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |