Алексей Аширов, Спасибо за ответ. А планируется в обновлении эту возможность реализовывать?
SQL-запросы
14.12.2018 12:15:28
|
|
|
|
14.12.2018 12:26:18
Ilya Yurtaev, да, в будущем планируем реализовать. По срокам пока не можем сказать.
|
|
|
|
20.12.2018 18:41:19
Вечер добрый!
На этот раз столкнулись со следующей ошибкой (скрин прилагается). Слой "...Buffer" импортирован из шейпов. Объекты в нем сделаны типовыми полигонами с прикрепленной базой данных. При этом ошибка выпадает хоть с БД MS Access, хоть с SQL Server Local DB, а так же не зависимо от того, являются объекты примитивами или же типовыми. В БД слоя 19 полей. Записываемые через запрос поля - Вещественные. Сами шейпы пересохраняли несколько раз. В чем может быть проблема? Версия 8.0.0.6913u.
Изменено: |
|
|
|
20.12.2018 18:55:21
Дмитрий Безуглый, добрый день!
Похоже на нарушение целостности данных. Проверьте, что в обоих(!) слоях подключенные базы работают, и данные в заявленных в них источниках или соединениях доступны. |
|
|
|
06.01.2019 00:37:14
kos103153, переменную QN1 объявите как целую (integer)
|
|
|
|
14.01.2019 10:16:50
Дмитрий,день добрый!
За ответ спасибо, но... Переменная изначально была integer, real - это уже из экспериментов Может быть ещё какие варианты?... |
|
|
|
14.01.2019 17:25:00
kos103153, попробовали на текущей версии на подобных примерах - работает. Обновитесь, если проблема останется, дайте знать.
|
|
|
|
15.01.2019 16:56:40
Дмитрий, проблема осталась.
Но есть один нюанс, который я упустил. Мы используем версию 7. Изначально была установлена сборка 7.0.0.6685 от 20.04.2018, обновил до 7.0.0.6753. Проблема осталась. 8-й версии у нас нет , поэтому попробовать на ней не могу... |
|
|
|
15.01.2019 17:15:47
kos103153, понятно. Это в 8-й версии работает.
|
|
|
|
16.01.2019 13:42:50
Версия 8.0.0.6954u
Дата сборки 14.01.2019 Добрый день. Необходим совет, как составить запрос чтобы "Наименование узла" из объекта ЦТП проставилось связаному по топологии объекту Потребитель в поле "ЦТП" Пробовал модифицировать запрос: SEL ECT b.Sys FR OM [Тепловая сеть] as a, [Тепловая сеть] as b WHERE a.typeid=3 AND b.typeid=6 AND a.Geometry.STTouches(b.Geometry) Результата не добился. Буду благодарен за любую информацию. Спасибо |
|
|
|
16.01.2019 14:21:15
Через VbScript можно получить все потребители, связанные с данным ЦТП 1. Поставить на ЦТП флаг ( 2. Найти всех вниз по течению от флага 3. А дальше, либо по одному их надписывать, либо превратить ответ в Selection и выполнить L.ExecSQL для тех, кто потребитель и для тех кто Selected |
|||
|
|
17.01.2019 08:55:44
Большое спасибо за ответ. С первыми двумя пунктами разобрался быстро, но к сожалению не могу разобраться с выделением всех ЦТП более практичным решением.
На данный момент выделяю так: L.NetworkTools.AddFlag 10051 но так как наименований 900+ считаю своё решение не совсем корректным. Также не совсем ясно как ответ превратить в Selection Пробовал L.Selection.AddElem , но там опять же нужно вводить каждый id. (Справку читал/ю!) |
|
|
|
17.01.2019 09:20:06
Вот эту коллекцию сразу и подставлять для создания группы. Понятно, что для тысячи ЦТП быстродействие скрипта не может быть супер, но это быстрее чем руками, линейно зависит от их числа и не требует больших программистских усилий. Если эта операция важна по скорости и выполняется постоянно, лучше писать уже программу на другом языке в виде плагина или утилиты. Можно от источника построить дерево, например Двигаться от листьев (потребителей) по веткам вверх до ближайшего ЦТП. Тогда за один проход получится массив или файл со списком Потребитель-ЦТП А уже его одним махом UpdateFromAscII записать в базу. Но это уж как сможете. 1000 ЦТП не такой объем, чтобы его просто последовательно за несколько минут не обработать. |
|||
|
|
18.01.2019 12:10:24
Спасибо ответ, но увы я вновь должен побеспокоить вас.
После 'Находим кратчайший путь L.NetworkTools.FindDownstream 'Записываем результат L.Selection.ModifyByKeys 1,L.NetworkTools.Results Пробую составить : L.ExecSQL но не могу составить его корректно. Также хотелось бы уточнить сработает ли правильно написанный ExecSQL если поле ЦТП в объекте Потребитель выбирается из списка. Спасибо |
|
|
|
18.01.2019 13:38:18
Для примера как-то так:
Насчет списка не очень понял. Если там выпадайка, то сейчас, как минимум работает, если подставлять код значения. |
|||
|
|
24.01.2019 09:40:41
Версия 8.0.0.6954u Дата сборки 14.01.2019
Добрый день Данным запросом меняю одно название на другое в строке [Адрес] в ЦТП. UPD ATE l SE T l.[Адрес] = replace [Адрес],"Название улицы 1","Название улицы 2") FROM [Тепловая сеть] AS l Интересует есть ли возможность заменить "Название улицы 1" на "Название улицы 2" в любой строчке где бы оно не встречалось будь то потребитель/ЦТП./Дом. Изначальная задача: Убрать дубликаты улиц ( ленина -> Ленина) во всех объектах карты. Буду благодарен за любую информацию. Спасибо |
|
|
|
24.01.2019 23:12:31
kkk, добрый день!
Указанный оператор делает замену во всех типах объектов, имеющих поле [Адрес]. Если для других типов объектов этого слоя поле звучит иначе, то оператор придётся повторить для этих полей. Также оператор выполняется для конкретного слоя, соответственно для других слоёв его также нужно выполнить отдельно. SQL не подразумевает выполнение операторов с неопределённой группой данных или неопределённым множеством полей. |
|
|
|
15.02.2019 16:29:09
Добрый день.
Версия программы 8.0.0.6935u. При выполнении запроса: SEL ECT sys,[Балансодержатель] FR OM [АС Тепло] WHERE [Балансодержатель] NOT LIKE 'ТЭЦ-2' выходит ошибка: Syntax error.Text: 'LIKE 'ТЭЦ-2' ' Pos: 79, Ref: 0xE136 Без оператора NOT - все работает. Как быть? Обновление поможет?
Изменено: |
|
|
|
15.02.2019 17:58:19
SerPa, добрый день!
Да, у нас ошибка была с конструкцией NOT LIKE. Мы подправили, в пн. у нас будет новый релиз, там будет отражено. Приносим извинения за неудобства. |
|
|
|
26.03.2019 09:18:47
Добрый день!
Необходима помощь в формировании Sql-запроса. Стоит задача перенести информацию из одного слоя тепловых сетей в другой При выполнении запроса показывает время, но данные не обновляются. Точки потребителей находятся внутри площадных объектов, значение полей - Строковое. Версия 8.0.0.6969u Дата сборки 29.01.2019
|
|||
|
|
28.03.2019 17:21:52
Оксана, добрый день!
В последнее время мы исправляли ошибки в работе SQL. Обновите версию, пожалуйста. Если проблема останется, дайте знать. |
|
|
|
26.04.2019 13:21:07
День добрый!
Есть строка [Абонент1] в потребителе, со значениями вида "919 УФМигр.Службы адм.зд. от0.03735 20гр гвс0.019". В разных потребителях соответственно разное название абонента и разное количество знаков. Пытаюсь запросом получить столбец со значениями после букв "гвс". Логика запроса следующая: С помощью функции SUBSTRING взять 5 символов из строки [Абонент1] начиная с позиции где функция CHARINDEX найдет вхождение 'гвс'
Но чтобы я не делал появляется ошибка: Unexpected character ')'. Text: '))+(3),5) FR OM R0DCAF0C8 WH ERE [Абонент1] LIKE "%гвс%"' Pos: 64, Ref: 0xE205 В чем может быть проблема? |
|||
|
|
06.05.2019 09:37:23
Павел, подправили, в текущей версии должно работать.
|
|
|
|
24.05.2019 10:13:23
День добрый, коллеги.
Столкнулись со следующей ситуацией (см. скриншот, если потребуются дополнительные сведения, готов предоставить). Zulu версии: Версия 8.0.0.7005u Дата сборки 06.03.2019 Прошу помощи... PS: полный текст запроса (не всё попало в скрин): sel ect count(*) fr om [Cущ водопотребл ЦГВ] as SVCGV, [Районы города] as Zone where SVCGV.Geometry .STWithin(Zone.Geometry) and Zone.[Район города] = "Район №1" and SVCGV.typeid=1001
Изменено: |
||||
|
|
|||