Имя: Пароль:
1C
1С v8
Внешние источники данных VS Прямые запросы
0 Arm12
 
11.08.16
22:19
Народ, помогите разобраться в чем отличие ВИД и Прямых запросов, это не одно и тоже? И что выгоднее использовать с точки зрения производительности?
1 Arm12
 
11.08.16
22:20
"Одно и тоже" я имею в виду по отношению к СУБД
2 В тылу врага
 
11.08.16
22:27
ВИД работает как будто в одной среде, пярымые можно перенастраивать и гибче
3 Fram
 
11.08.16
22:28
ВИД ограничен функционалом 1С запросов. Тогда как "прямые" запросы можно писать используя более расширенные функции провайдера.
4 Garykom
 
гуру
11.08.16
22:33
Что такое "прямые запросы" применительно к 1С8 ?
5 Arm12
 
11.08.16
22:34
(4) Запрос напрямую к СУБД, например к SQL базе семерки.
6 Arm12
 
11.08.16
22:34
Вопрос, а можно в прямых запросах использовать хинты типа NOLOCK ?
7 Garykom
 
гуру
11.08.16
22:36
(5) Боюсь слегка кто то не понял...

Через что "не напрямую" будешь из 1С8 выполнять эти типа "прямые" и получать данные?
8 Garykom
 
гуру
11.08.16
22:37
9 Arm12
 
11.08.16
22:42
(8) ОК, спс.
Я тягаю данные из семерки через ВИД (только чтение), но когда запрос долгий, наблюдаются блокировки БД 1С7.7, люди сердятся...
10 Arm12
 
11.08.16
22:44
Вот я и подумал, может есть какой-нибудь альтернативный способ, который даст выигрыш в производительности.
11 Garykom
 
гуру
11.08.16
22:45
(10) База 77 на чем? Юзайте нативные дрова для БД и свою работу с этими дровами.
12 Arm12
 
11.08.16
22:46
(11) SQL
13 Arm12
 
11.08.16
22:51
(11) нативные дрова. Например ODBC, ADO ?
14 Garykom
 
гуру
11.08.16
22:58
(12) Какой SQL? Их многа )) и 1С77 может со многими уже работать ))

(13) ODBC и ADO это не нативные а интерфейсы-прокладки
15 Garykom
 
гуру
11.08.16
23:00
Попробуй http://www.sqlapi.com/ ))
думаю ничего шустрее нету, но вот не факт что оно все возможности конкретных БД умеет типа NOLOCK
16 Arm12
 
11.08.16
23:02
(14) Дак SQL2005 standart
17 Arm12
 
11.08.16
23:02
(15) Спасибо, щас почитаем )))
18 Garykom
 
гуру
11.08.16
23:03
19 Garykom
 
гуру
11.08.16
23:04
(16) По переводу 1С77SQL на другие БД не mssql вроде тут Как сделать базу 77 на MS SQL? все перечислили
20 Garykom
 
гуру
11.08.16
23:17
Кста придумал наилучшее из возможных решение ))
Создать в mssql хранимку чтобы она по триггеру или как то по времени нужные данные из нужных таблиц в нужном виде перекидывала в отдельную(ые) табличку(ки) а оттуда уже тяни напрямую без блокировок (настройки в mssql по локу)
21 mehfk
 
12.08.16
04:28
(9) Если ВИДы не делают (nolock), то придется его делать тебе самому :)
22 Arm12
 
12.08.16
20:43
А как делать nolock на ВИД? Я покапался там на таблицах можно выбрать режим управления блокировками и уровень изоляции. Выбрал управляемые блокировки, уровень - грязное чтение. Но для семерочной базы похоже это ни о чем!
23 Arm12
 
12.08.16
20:44
Запросы на СУБД прилетают без хинтов вообще.
24 Garykom
 
гуру
12.08.16
21:00
(23) odbc какое юзаешь?
25 DmitrO
 
13.08.16
10:01
В ВИД пока хороша только идея. Ее реализация не позволяет применять ВИД серьезно. ВИД имеют ряд недостатков, которые не позволяют их применять для баз 7.7. Да и вообще для любых серьезных баз.
- запросы не параметризируются;
- недостаточное описание типов в метаданных. Невозможно описать не юникодные типы полей, что приводит к систематическим не попаданиям в индекс на таких таблицах.
- ошибки в запросах и паденя динамических списков;
- не возможно выполнить произвольный запрос исключительно на языке источника (без 1С);

ВИД пока что поделка "чтобы было".
26 Arm12
 
13.08.16
23:13
(25) Прискорбно однако.
27 Arm12
 
13.08.16
23:15
(20) Подумал и решил, что проще наверное будет сделать именно так. Спасибо большое Garykom.

p.s.
Господа форумчане делайте выводы!
28 МихаилМ
 
14.08.16
16:06
оберните запрос в хранимую процедуру. в процедуре укажите хинты
Основная теорема систематики: Новые системы плодят новые проблемы.