|
База Oracle как внешний источник данных | ☑ | ||
---|---|---|---|---|
0
Amfiaray
18.07.18
✎
15:45
|
Добрый день!
Есть БД на Oracle. Добавил её как внешний источник данных, добавил таблицы и функции. При подключении ошибок нет, но если попытаться обратиться к функции или открыть таблицу выходит ошибка "Ошибка ODBC. SQLSTATE: HY000 Номер ошибки: 923 Описание: [Oracle][ODBC][Ora]ORA-00923: ключевое слово FROM не найдено там, где оно ожидалось". После удаления и нового добавления внешнего источника ситуация не изменилась. При этом добавление этого же источника на другой базе на этом же сервере прошло отлично, источник добавился и таблицы открываются. Подскажите как решить проблему? |
|||
1
fedoss
18.07.18
✎
16:15
|
Тип СУБД точно "Oracle Database" стоит?
|
|||
2
Amfiaray
18.07.18
✎
16:23
|
(1) Да
|
|||
3
Amfiaray
18.07.18
✎
16:27
|
Очистил кэш - не помогло.
Удалил информационную базу на сервере 1С и снова добавил - не помогло. |
|||
4
fedoss
18.07.18
✎
16:31
|
Ну, как вариант, включить debug у ODBC драйвера и посмотреть, какой запрос уходит к СУБД и чем он отличается от успешного.
|
|||
5
Necessitudo
18.07.18
✎
17:08
|
А какой драйвер-то используете?
|
|||
6
Amfiaray
18.07.18
✎
17:16
|
(4) А как его включить?
(5) DRIVER={Oracle in OraClient11g_home1} |
|||
7
PloAl
18.07.18
✎
17:29
|
(0) В свойствах Таблиц, Полей заполнено "Имя в источнике данных"?
|
|||
8
Amfiaray
18.07.18
✎
17:35
|
(7) Да, всё заполнено
Попробовал: 1. Удалить источник данных; 2. Сохранить конфигурацию; 3. Перезапустить сервер; 4. Снова добавить источник данных; Помогло, всё заработало, но после первого открытия таблицы из внешнего источника снова появилась ошибка и всё перестало работать. |
|||
9
rsv
18.07.18
✎
17:42
|
Откройте excel на машине где клиент ораела стоит и через получение внешних данных цепанитесь к табличке .
|
|||
10
Amfiaray
19.07.18
✎
07:11
|
переделал всё на прямое подключение к БД и всё заработало, вот код:
ТаблицаЗаписей = Новый ТаблицаЗначений; ТаблицаЗаписей.Колонки.Добавить("ID"); ТаблицаЗаписей.Колонки.Добавить("DOC_ID"); ТаблицаЗаписей.Колонки.Добавить("TYPE_ID"); ТаблицаЗаписей.Колонки.Добавить("XML_DATA"); Connect = ПолучитьПодключение(); Если Connect = Неопределено Тогда Сообщить("Не смогли подключиться"); Возврат; КонецЕсли; Command = Новый COMObject("ADODB.Command"); Command.ActiveConnection = Connect; Command.CommandText = "CORPORATE.PKG_WS.GETDOCUMENTSFORSEND"; Command.CommandType = 8; RecordSet = Новый COMОбъект("ADODB.RecordSet"); Попытка RecordSet = Command.Execute(); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Пока RecordSet.EOF() = 0 Цикл НоваяСтрока = ТаблицаЗаписей.Добавить(); Для i = 0 По RecordSet.Fields.Count-1 Цикл ИмяКолонки = RecordSet.Fields.Item(i).Name; НоваяСтрока[ИмяКолонки] = RecordSet.Fields.Item(ИмяКолонки).Value; КонецЦикла; RecordSet.MoveNext(); КонецЦикла; Появилась следующая проблема, в Oracle у поля XML_DATA тип CLOB, в 1С значение поля показывает как Неопределено. Есть возможность получить CLOB из 1С? |
|||
11
catena
19.07.18
✎
07:54
|
Попросить автора GETDOCUMENTSFORSEND отдавать ее строкой. Обычный ltrim поможет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |