![]() |
|
v7: SQL 2022 для 7.7 Можно заменить ВСЕ штатные sql-запросы по маске? ↓ (Волшебник 16.09.2024 08:50) |
☑ | ||
---|---|---|---|---|
0
mvk
08.09.24
✎
19:47
|
Добрый день. Прошу прощения, тема "v7: версия SQL для 7.7 и режимы совместимости" ушла в архив.
Есть задание от руководства - постараться перейти на как можно более свежий системный софт при работе с 7.7 без применения виртуализации. Вопросы типа "а зачем это надо" прошу не задавать. Давайте просто скажу, что хочу решить подобную задачу. На 2022 ms-сервере после некоторого шаманства 1С заработала даже без запуска от имени админа. И опенконф заработал нормально. И всякие компоненты типа 1С++. А вот SQL2022... Ну процедуру sp_dboption я добавил. Но синтаксис стандартных запросов от 1С содержит хинты к таблицам типа (NOLOCK INDEX=...). И если nolock sql2022 еще пропускает, то явная отправка к индексам уже вызывает ошибку "Неправильный синтаксис около "INDEX". Если имелась в виду часть табличного указания, то для этого теперь необходимо использовать ключевое слово A WITH и круглые скобки." Т.е. требуется модификация штатных запросов. В частности банальных методов "найтипо...". Компонента от Ромикса не умеет же подменять по маске? Типа "(nolock" заменить на "with(nolock". Каждый запрос подменять - у Ромикса вроде есть ограничения на 200 замен. Есть варианты выкрутиться? Или только понижение SQL до 2019 спасет? Может у кого-то исходники Ромиксовской компоненты остались? |
|||
1
Guk
08.09.24
✎
19:49
|
(0) беги оттуда. там в руководстве работают больные на всю голову люди...
|
|||
2
Djelf
08.09.24
✎
19:52
|
(0) Читай (0)
Давайте просто скажу, что хочу решить подобную задачу.
Я не против, пускай решает. |
|||
3
mvk
08.09.24
✎
20:25
|
(1) Есть потребность. Есть рабочая система, менять которую не так просто. Разработано дофига всего за много лет. От родной 1С остался интерфейс с относительно небольшим использованием штатных методов, которые в узких местах подменялись на прямые запросы. А так почти все на прямых.
Железо развивается, и старые системы на него уже просто не становятся. Виртуализация тоже жрет ресурсы. Вот и возник вопрос выяснения "пределов возможного" для работы без виртуализации. А потом уже этот вариант можно и виртуализировать в будущем. База не гигантская, но и не маленькая. 300 гиг и растет быстро. |
|||
4
Guk
08.09.24
✎
20:41
|
(3) ну, люди, которые в своем уме, в подобной ситуации все- таки смотрят в сторону 8-ки, отчетливо понимая, что 1С 7.7 - это мертвая система и латать её постоянно как тришкин кафтан, не получится. плюс спецов по семерке днем с огнем не найти. у вас руководство этого не понимает?...
|
|||
5
Волшебник
08.09.24
✎
20:43
|
(0) а зачем это надо, когда есть восьмёрка?
|
|||
6
mvk
08.09.24
✎
20:48
|
Люди занимаются воспроизведением алгоритмов на 8. Но пока не готово. И не понятно, когда будет. Кроме того бизнес-процессы не стоят на месте.
ЗЫ: Ну просил же не углубляться в тему "а зачем это надо..." Может по существу вопроса кто-то может подсказать? Волшебник, ты же такой же древний, как и я, кубаноид )) Может нароешь исходники от Ромикса? А то ссылки уже мертвые все, разумеется... |
|||
7
Builder
08.09.24
✎
21:17
|
Есть несколько нетленок на 7.7, прекрасно живут на SQL 2008, на обычном железе и виртуалках.
Зачем этот велосипед с 2022 скулем и железом? Выиграть пару процентов производительности? Цель какая? |
|||
8
DrZombi
09.09.24
✎
07:00
|
(7) Их ждет разочарование на 8.ххх После прямых запросов некоторые рабочие решение на 7.7 увы не работают на 8 :)
|
|||
9
DrZombi
09.09.24
✎
07:02
|
(6) Людям нужно будет еще придумывать свои алгоритмы, под технические возможности 8-ки. Прямые запросы развращают, снимают ограничение наложенное разработчиком 7.7 :)
...весело у вас... |
|||
10
DrZombi
09.09.24
✎
07:04
|
(0) Если по делу, то не пробовали для 7.7 использовать максимальный простой SQL (где то 2014). А уже на 8.ххх вы перейдете на ПосгриСКЛ и другие новшество от линукс совместимых, с импорта-замещением.?
|
|||
11
DrZombi
09.09.24
✎
07:05
|
+ Просто судя по описанному внедрению, у компании нет проблем с бюджетом :)
|
|||
12
Волшебник
09.09.24
✎
07:05
|
(6) Я лучше эту стюардессу поглубже закопаю и ещё песочку сверху подсыплю
|
|||
13
mg-samara
09.09.24
✎
07:07
|
(0) Хорошо, еще что присутствующие фото не просят :-)
У меня тоже есть пример когда работают на 7.7. Но не так запороченно как у тебя. Лично я для поддержки просто ковыряю копию базы в виртуалке, где стоит, страшно сказать, XP! В этом году, надеюсь, перейдут на восьмерку. А так - удачи, коллега, побыстрее перейти! Сильно допиленную систему не так просто перевести на современную. Да и дорого это :-) Извини, что не по существу. |
|||
14
mg-samara
09.09.24
✎
08:22
|
Помню еще году в 2010 году, на проекте, где еще крутились остатки учетных системы на 7.7 мы придумали специальый термин для программирования на семерке - "Ретро-программирование!".
Но сейчас в 2024 году, раз в месяц открывая конфигуратор семерки, я понимаю что это уже не "Ретро", а какое-то "Некро". :-) |
|||
15
Волшебник
09.09.24
✎
07:25
|
(14) точно-точно. Исходники потеряны. Ищут какие-то компоненты, которые не компилируются. Настоящее некро! Или архео. Или палео.
|
|||
16
arsik
09.09.24
✎
08:26
|
(0) Был же проект перехват и трансляция запросов в из 77 в postres. Может в ту сторону посмотреть. То есть не на уровне скуля запросы менять, а на уровне 1С.
|
|||
17
Смотрящий
09.09.24
✎
08:31
|
(0) Прям на самом скуле INSTEAD OF триггеры посмотри
|
|||
18
mishaPH
09.09.24
✎
09:07
|
(14) ага а меня вот называли на одном месте ретроградом.
|
|||
19
Волшебник
09.09.24
✎
09:08
|
(18) Меня так тоже называли, причём за мою любовь к ОБЫЧНЫМ формам восьмёрки. А вы говорите клюшки...
|
|||
20
mvk
09.09.24
✎
09:29
|
И снова все привет. Я смотрю, тема пошла в сторону некроностальгии )))
(8,9) Именно. А если учесть, что ты держишь кое-какие интересные служебные таблички сбоку в соседней базе (чтобы не так часто бэкапить)... (10) Видел в архивной теме, что у людей на 2019 скуле взлетело. Может это они имели ввиду ms-сервер? Потому что вроде как эти хинты на индексы и в 2019 уже не работали. (16) Не напомнишь, куда копать? (17) Это триггеры на delete,update,insert. А у меня не работает select * from SC3774(NOLOCK INDEX=CODE) where CODE='ТутКодСправочника' order by CODE,ROW_ID который вызывается при методе Спр.НайтиПоКоду("ТутКодСправочника") |
|||
21
trad
09.09.24
✎
09:34
|
ТС, про "секретный релиз 77" слышал? пробовал?
|
|||
22
mvk
09.09.24
✎
09:37
|
(7) sql2008r2 живет максимум на win2012r2. А этот сервер на современное железо уже не ставится.
|
|||
23
mvk
09.09.24
✎
09:37
|
(21) Конечно. Он и живет.
|
|||
24
JanK
09.09.24
✎
09:40
|
(20)
С трудом, но всё же нагуглил (в яндексе) название конторы - сам никогда не пользовался, может оно и вообще не работает. Подумал и саму ссылку удалил из поста, а то вдруг Волшебник решит что это я решил так рекламу пролпихунть;) Сайт (очень тормозной) конторы находится в яндексе по поисковой фразе "Linux предприятие 77 wine" - собственно там же есть решение по трансляции TSQL запросов в PG (на сколько оно рабочее - понятия не имею, в общем виде - точно не рабочее, но в каких-то случаях может и работать). |
|||
25
arsik
09.09.24
✎
09:46
|
(20) Ну был проект SELTA@Etersoft
Они я так понял делали через подмену драйвера odbc. https://habr.com/ru/articles/112061/ https://interface31.ru/tech_it/2010/04/1s-predpriyatie-77-postgresql-realno-da.html |
|||
26
trad
09.09.24
✎
09:55
|
(23) Не заметно.
Ибо проблему с хинтами в "частности банальных методов "найтипо..."" он решает |
|||
27
АгентБезопасной Нацио
09.09.24
✎
09:59
|
У софтпойнта есть нужное решение (прокси запросов) - но наверняка дорого.
На инфостарте есть творчески переработаные исходники ромиксовского хука. |
|||
28
arsik
09.09.24
✎
10:00
|
||||
29
АгентБезопасной Нацио
09.09.24
✎
10:21
|
кстати, для управления хинтами запросов в 2022 сервере есть plan-guides и query-store-hints.
|
|||
30
mvk
09.09.24
✎
10:40
|
(26) Это же где добавлен BkEndUtls.dll и подменен BkEnd.dll?
|
|||
31
mvk
09.09.24
✎
10:40
|
(27) Спасибо, сейчас поищу.
|
|||
32
trad
09.09.24
✎
10:43
|
||||
33
mvk
09.09.24
✎
10:45
|
(26) https://infostart.ru/1c/tools/82018/ используется
|
|||
34
mvk
09.09.24
✎
10:47
|
(32) Хинты на индексы там остались. В синтаксисе без слова with
|
|||
35
trad
09.09.24
✎
10:53
|
(34) приведи пример стандартного запроса, такого чтобы появился хинт с index
|
|||
36
mvk
09.09.24
✎
10:58
|
(35) set rowcount 1 select * from SC3774(NOLOCK INDEX=CODE) where CODE='ТутКодСправочника' order by CODE,ROW_ID set rowcount 0
который вызывается при методе Спр.НайтиПоКоду("ТутКодСправочника") |
|||
37
trad
09.09.24
✎
11:10
|
я наверно что-то не догоняю, но у меня НайтиПоКоду делает это
set rowcount 1 select * from SC46 WITH (NOLOCK) where CODE='12345' order by CODE,ROW_ID set rowcount 0 |
|||
38
trad
09.09.24
✎
11:12
|
+
|
|||
39
nextssbt
09.09.24
✎
11:13
|
(0) 1с++ или toySQL в помощь
|
|||
40
nextssbt
09.09.24
✎
11:15
|
(0) https://1cpp.ru/index.php/Main
этого обычно достаточно чтоб форсировать 7.7 |
|||
41
trad
09.09.24
✎
11:17
|
(37)+ еще должен добавить, что у меня не sql2022
Я пытаюсь понять почему у ТС секретный релиз не работает так как должен |
|||
42
mvk
09.09.24
✎
11:52
|
(39) Там почти все на 1С++. Но все же каждый чих типа НайтиПоКоду переделывать тоже долго. Есть критичные места, где переделал. Но не везде.
(38) У меня, кажись, размер BkEndUtls.dll отличается. С архивом у себя сравнил из https://infostart.ru/1c/tools/82018/ - у меня совпадает. Посмотрите, плиз, подробнее, размеры. А еще лучше поделитесь ))
|
|||
43
mvk
09.09.24
✎
11:30
|
(38) Вот такой архив
|
|||
44
mvk
09.09.24
✎
11:32
|
(38) Профайлер...
|
|||
45
trad
09.09.24
✎
12:24
|
(42) размеры ровно такие же
а BkEnd0 какой релиз? |
|||
46
mvk
09.09.24
✎
12:26
|
(45) Странно, что такой-же. На скрине у Вас был 231Кб. А у меня 230 (на диске 232)
|
|||
47
mvk
09.09.24
✎
12:28
|
(45) Если не трудно. поделитесь своими Dll, я прогоню профайлером.
|
|||
48
trad
09.09.24
✎
12:44
|
(46) 236032/1024 = 230,5
Свойства округляют до 230 Проводник в столбце округляет до 231 MS Windows тоже не без этой хрени )
|
|||
50
mvk
09.09.24
✎
13:07
|
(49) Все равно select * from SC3774(NOLOCK INDEX=CODE). Может остальные 2 длл тоже скинете?
|
|||
51
arsik
09.09.24
✎
13:19
|
(50) Может ты просто какую то не ту 1С запускаешь. Посмотри в процесс эксплорере. Может у тебя даже библиотеки в 1С не подгружены.
|
|||
52
mvk
09.09.24
✎
17:37
|
(51) Не той просто нет. Движок 1. Посмотрю, но чуть позже.
|
|||
53
mvk
09.09.24
✎
14:00
|
(49) Посмотрите у себя в BkEnd0 есть кучка строк "NOLOCK INDEX"? Может там руками кто-то правил потом? У меня их там много...
|
|||
54
arsik
09.09.24
✎
14:52
|
(53) Как бы хук BkEnd.dll + BkEndUtls.dll как раз для обхода этого сделан. Может у тебя BkEnd0.dll - неоригинальный и хук не может на него наложиться.
|
|||
55
trad
09.09.24
✎
14:36
|
Может быть действительно подмена не работает т.к. sql2020 ?..
spock заявлял о поддержке 2000-2014 Хотя им же сказано о невмешательстве только для sql2000 и ниже |
|||
56
Крэкпэк
09.09.24
✎
14:50
|
А какой уровень совместимости установлен у БД ?
|
|||
57
mvk
09.09.24
✎
14:55
|
(54) Все может быть. Пришлите оригинальный, если не трудно. Спасибо.
(55) spock заявлял, потому что старших тогда не было еще вроде. (56) Разные пробовал. Сейчас максимальный 2022. |
|||
58
Djelf
09.09.24
✎
16:40
|
(24) Нормально selta работала: https://infostart.ru/1c/tools/19566/
Я в то время был на связи с разработчиком и продвинул свою идею "курсоры на триггерах". Но в dbf все равно быстрее. Это было очень давно. Было бы интересно когда-нибудь посмотреть как новые версии постгри с этим работает... Лицензия есть, но... лучшее враг хорошего. |
|||
59
mvk
09.09.24
✎
17:06
|
trad, ну доделай доброе дело ))) Кинь свою BkEnd0, плиз...
|
|||
60
mvk
09.09.24
✎
17:37
|
(51) Стартует...
|
|||
61
Волшебник
09.09.24
✎
19:47
|
некрофилы...
|
|||
62
trdm
09.09.24
✎
19:48
|
me too
|
|||
63
Волшебник
09.09.24
✎
21:20
|
Как вас похоронить? Песочком засыпать?
|
|||
64
Волшебник
09.09.24
✎
21:23
|
Мне неприятно, что на моём форуме обитают некрофилы 7.7 и обмениваются dll-файлами
|
|||
65
Волшебник
09.09.24
✎
21:24
|
Заведите себе другой форум!
|
|||
67
Волшебник
13.09.24
✎
18:51
|
Я ветку потопил, чтобы остановить эту пропаганду 7.7,
но знайте, что я слежу за вами даже в утопленной ветке. |
|||
69
mvk
11.09.24
✎
18:03
|
))) Волшебник, спасибо за апы.
|
|||
70
mvk
11.09.24
✎
18:05
|
(62) Какие люди! Приветствую!
Блин, перепробовал кучу родных BkEnd.dll. Не помогает. Остаются хинты... trad, вся надежда на тебя. |
|||
77
leov-001
13.09.24
✎
13:37
|
Нужна реструктуризация ИБ.
Открой свойства конфигурации. В комментарии поставь пробел удали пробел. Сохрани конфигурацию. |
|||
78
mvk
13.09.24
✎
15:53
|
(77) База интенсивно меняется. Реструктуризации раз в неделю примерно. Пробовал после подмен разных BkEnd. Не помогло.
Мне бы комплект длл, на котором у вас работало... ЗЫ: Волшебник, потерпи немного. По делу вопрос. |
|||
79
Волшебник
13.09.24
✎
17:23
|
(78) не верю
|
|||
80
jzklj
13.09.24
✎
17:51
|
(78) Поправь ручками в dds файле.
|
|||
81
trad
13.09.24
✎
17:57
|
(78) в почту тебе скидывал ссылку
|
|||
83
jzklj
13.09.24
✎
18:00
|
(80)+ хотя нет, нужно хранимки править. Проще действительно, реструктуризацию сделать. Ну или на копии сделать и из нее перенести хранимки.
|
|||
86
mvk
13.09.24
✎
19:07
|
(81) Поймал. Спасибо. Не помогло ((( Где-то еще косяк...
(80),(83) С хранимками все норм. Проблема только в синтаксисе запросов, которые вшиты в BkEnd.dll. По идее секретный релиз должен был поправить это, но конкретно у меня не поправилось. Вероятно придется руками и хекс-редактором править саму длл. (79) Ну может и да. Раз в неделю изменяю все, что с турбомд наменял на лету, а именно изменения, требующие реструктуризации, раз в месяц. Бизнес развивается, вечно что-то новое вылезает. Или оптимизация старого. Индексы свои опять же... А новый скуль - я же могу в запросах новые фишки использовать. Например, оконные функции. Примитивные начались с 2008 скуля, а хочется же все использовать. А агрегатная функция объединения строк... Вся прелесть прямого доступа к базе - руки развязаны. |
|||
87
craxx
13.09.24
✎
19:31
|
(86)
Вероятно придется руками и хекс-редактором править саму длл.
Ростовские программисты настолько суровы, что программируют напрямую внося биты в регистры паяльником. |
|||
89
mvk
14.09.24
✎
22:23
|
(87) 1С:Левша ;)
|
|||
90
Jackman
15.09.24
✎
14:35
|
8ка еще сырая... Рано переходить.
|
|||
91
Волшебник
15.09.24
✎
14:49
|
(90) Семёрка ещё сырая. Дождитесь новых релизов
|
|||
92
Ёпрст
15.09.24
✎
21:23
|
(0) на 22 не пробовал, 19 работал без танцев с бубном. Может, еще чего подменял? Еще какие длл/одбс драйверы и прочее подменяны? Пробуйп устышку создать из мд на новой чистой платформе с установленным солюшен7. И всё. Там будет все работать, главное в самом скуле ничего не менять/подменять
|
|||
93
Ёпрст
15.09.24
✎
21:49
|
И да, даже в камментах к секр. релизу, пишут, что на 22 заоаботало из коробки. Точно, что то еще у вас подменяно, вертайте взад всё.
|
|||
94
trdm
16.09.24
✎
10:28
|
(67) > Я ветку потопил, чтобы остановить эту пропаганду 7.7,
Ну чего ты паришся, Она же уже даже не продается, а вот люди еще работают на ней. Тебе нечего беспокоиться. тут априори нет никакой конкуренции. |
|||
95
Волшебник
16.09.24
✎
10:28
|
(94) Я и не беспокоюсь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |