Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Интеграция 1С и Firebird Через ODBC и внешние источники данных.

Интеграция 1С и Firebird Через ODBC и внешние источники данных.
Я
   WhiskeyTango
 
27.01.20 - 18:56
Добрый вечер, коллеги. Встала задача интеграции 1с и КИС написанной на delphi. Все это крутится под управлением firebird. Собственно, удалось добавить внешний источник данных, подключится к firebird, читать и записывать данные.НО, столкнулся с проблемой, на относительно небольших таблицах (43000 строк) простые выборки из внешнего источника работают дико медленно. При этом, когда выбираешь 1 запись по первичному ключу все работает прекрасно, но стоит написать запрос вообще без условий и отборов, и он виснет на несколько минут. Перепробовал все что можно, смотрел планы запроса которые генерирует 1с-ка, там все прекрасно. Провал в производительности замечен именно на этапе, когда данные из бд летят в 1с. ПРи этом прямые sql запросы к firebird выполняются мнгновенно. Сталкивался ли кто-то с подобным?
   ДенисЧ
 
1 - 27.01.20 - 19:06
Возьми другой инструмент. НАпример, адо. Если будет то же самое, то придётся экран протирать и по корпусу сервера стучать.
   Garykom
 
2 - 27.01.20 - 19:27
(0) Ты реально удивляешься тому что 43к записей через odbc долго !все! получаются и передаются в 1С ?
   WhiskeyTango
 
3 - 27.01.20 - 19:36
Честно говоря, плотно не знаком с внутренними алгоритмами работы данной технологии(Да и не знаю тех, кто знаком). Но да, такая выборка мне не казалась большой. А по возможным технологиям, Ado не рассматриваем(Это крайний вариант).
   WhiskeyTango
 
4 - 27.01.20 - 19:47
Еще по поводу быстродействия: Устанавливал отбор, выбирал 5000 записей примерно, не заметил увеличения быстродействия по сравнению с выборкой из таблицы вообще без отборов.
   Лефмихалыч
 
5 - 27.01.20 - 19:48
(3) для OLE это много данных. Я б даже сказал, что чрезвычайно до*уя
   Лефмихалыч
 
6 - 27.01.20 - 19:49
(4) 5000 - это тоже много
   WhiskeyTango
 
7 - 27.01.20 - 19:55
Меня смутил тот факт, что затык именно в передаче данных. Перед тем как я додумался открыть tracer для БД, думал что запрос, написанный на стороне 1с, сильно коверкается. Но дело оказалось не в этом. Всем огромное спасибо за помощь. Проблему с объемом обойти я смогу. 99% времени передаваться будут десятки объектов, а не такая куча данных как при первоначальной загрузке. INSERT-ы , UPDAT-ы уже тоже протестил, хотя по поводу них тоже были опасения.
   rsv
 
8 - 27.01.20 - 20:20
(0) попробуйте сначала ...... Excel - данные - получение внешних данных MS Query
   rsv
 
9 - 27.01.20 - 20:21
вроде бы не затратно и побыстрому запрос набросать ....оценить скорость и тд
   WhiskeyTango
 
10 - 27.01.20 - 20:40
Честно говоря, уже запланировал тесты на рабочих объемах данных, а не на объемах разовой загрузки справочников. А вот если и в таком случае не устроит быстродействие, то придется сильно думать).Но очень хочется сделать именно на внешних источниках, слишком уж интуитивно понятная штука. Единственное, что смущало - это отсутствие firebird в списке офф. поддерживаемых бд. В любом случае, думаю, разок стоит пройтись по граблям.
   rsv
 
11 - 27.01.20 - 20:47
а чего думать ....ado на край . хочется экспериментов через внешние источники платформы от релиза к релизу - это выбор
   Лефмихалыч
 
12 - 27.01.20 - 20:54
(10) вообще, добродетельные люди в чужую БД со своими запросами не ходят. Для этих вещей есть REST и SOAP
   rsv
 
13 - 27.01.20 - 20:56
точно .... заставляй кто саппортит фареберд разворачивать веб сервис и заставляй сервисы ваять...  и xml  загружать.. еще быстрее будет
   WhiskeyTango
 
14 - 27.01.20 - 21:00
А я и не собираюсь лезть в чужую БД, у нас есть специально подготовленная транспортная "Шина". Веб сервисы запланированы на будущее, если что). Но пока так, и никак иначе, таковы условия.
   WhiskeyTango
 
15 - 27.01.20 - 21:03
К слову, у коллег был успешный опыт интеграции 1с-1с с помощью веб-сервисов, более того, они у нас предусмотрены "Из коробки". Но в том случае все делалось нами, без привлечения заказчиков.А в данном случае так не выйдет.
   Конструктор1С
 
16 - 28.01.20 - 02:58
(1) ВИД лучше адо

(7) может дело в драйвере, выбранном при подключении ВИД к БД?
   DrZombi
 
17 - 28.01.20 - 06:18
(0) База firebird какого размера?

Рассмотри вариант преждевременной загрузки из firebird в 1С, хотя бы в похожую структуру данных, как в firebird :)
   DrZombi
 
18 - 28.01.20 - 06:19
(15) firebird, старое барахло :)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.