|   |   | 
| 
 | 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) Я и не беспокоюсь     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |