Страница 1 из 3
Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 15:11
Masygreen
Надо докомпилировать словарь .. добавить свои таблички.. ни чего криминального ...
DiCom.bat
Код: Выделить всё
@if exist alter.log del alter.log
exe\vip.exe mmm.gcd
pause
mmm.gcd
Код: Выделить всё
Create Table D_mmm.Listmmm "Реестр"
Using "Listmmm.dat" //имя файла для Pervasive
#ifdef ComponentVersion
Component EI_mmm
#end
With Replace
With TableOptions noProtect
(
NRec : comp "Номер записи"
, cMc : ref(table KatMC) "Ссылка на МЦ"
)
With Index
(
IN00 = NRec(Surrogate)
,IN01 = cMc
);
VIP.cfg
Код: Выделить всё
#include StartUp.inc
#include Color.inc
#include %USERNAME%.inc
#include HWKey.inc
[licparam]
licfilename=gals.lic
[System]
FullSQL=On
UpdateDictCheckSumm=off
[SQLDriver]
SQLServer=ncacn_ip_tcp:superserver[1997]
FullLoginName=oN
[DataBase]
DatabaseName=mmmDemo
FiltersResource=%USER%\filters.res
DataBaseDriver=MS70DRV.DLL
CheckRepository=off
получаю при запуске:
Не совпадают контрольные суммы в словаре и в использующей его программе. Возможна некорректная работа....
Кроме того .. удалить эту таблицу можно только с alter dictionary
Где косячу???
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 15:51
Vik
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 16:31
Masygreen
не совсем.. согласно галактический мануалов я делаю все правильно ... т.к. не трогаю alert disconary..
опять таки почему drop не работает..
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 17:05
LaaLaa
Помоему не нужно делать
Это как раз активирует режим не пользовательских изменений.
А вообще для выполения манипуляций с БД нужно использовать не VIP.EXE, а новую консольную программку ASQL.EXE. Которая не лицензируется и идет вместе с обновлениями.
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 17:08
Masygreen
в VIP.cfg (я все файлы привел в шапке темы) - это все есть .. на счет asql - щас попробую..
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 17:12
Masygreen
а как удалять в asql таблицы?
drop table [моя таблица]; - пишет не найден контекст..?
alert вообще не понимает ..
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 17:46
edward_K
попробуйте в консоли управления. Или перейдите в vip. Тока причем тут ASQL?
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 20:04
galover
Вопрос про asql - это давно так, что нужно юзать эту утилиту? Есть ли хэлп по ней? Про drop - кстати тоже ошибку получаю - если делать из Support-a, если vip-ом, то проходит.
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 21:05
Ged
galover писал(а):Есть ли хэлп по ней?
Максимум что нашел.
Никогда не юзал. Надеюсь и не буду.
LaaLaa писал(а):
нужно использовать не VIP.EXE, а новую консольную программку ASQL.EXE. Которая не лицензируется
ИМХО, лучше снять лицензирование vip-а, чем изобретать бесплатные(может и не нужные) утилиты.
Тем более, что данная дока вырвана из AtlDoc, которой нет в "свободном" распространении.
Код: Выделить всё
Asql: компилятор SQL-запросов
Компилятор SQL-запросов предназначен для пакетного выполнения SQL-запросов. В т.ч.:
компиляция хранимых процедур и функций;
SQL-запросы обработки данных (select, import, update, insert, delete);
SQL-запросы докомпиляции БД (create table, alter table);
запросы прямого SQL.
Фактически, компилятор SQL-запросов является подмножеством компилятора VIP. Синтаксис выполняемых SQL-запросов а также хранимых процедур и функций совпадает с синтаксисом соответствующих конструкций языка VIP.
Подробнее об операторах SQL и прямого SQL см. "Средство разработки Атлантис. Описание языка VIP".
Компилятор SQL-запросов может использоваться при:
инсталляции БД;
докомпиляции словаря;
конвертации словаря;
внедрении обновлений и патчей;
в других случаях (например, для ручной правки БД в пакетном режиме).
Запуск компилятора SQL-запросов:
asql [<компилируемый-файл>] [<ключи>]
<компилируемый-файл> - файл с операторами SQL. В имени файла допускается использовать маски: *.lot, staff*.* и т.п. В этом случае будут откомпилированы все файлы, соответствующие заданной маске.
<ключи> - ключи, управляющие режимом компиляции:
/? - выдать подсказку по параметрам компилятора.
/c:<файл-конфигурации> - задать файл конфигурации компилятора. Например:
/c:"%RPP_HOME%\support.cfg"
/c:galaktika.cfg
В первом случае имя файла конфигурации заключено в кавычки, т.к. в %RPP_HOME% могут встретиться имена с пробелами.
/<параметр-файла-конфигурации> - параметры, прописываемые в файле конфигурации, могут быть заданы и в командной строке. Параметры задаются в виде <секция>.<параметр>=<значение>. Для многих параметров имеются краткие синонимы.
Протокол компиляции записывается в файл asql.log в текущей директории.
Параметры работы компилятора задаются в конфигурационном файле. По умолчанию используется файл asql.cfg в текущей директории. Конфигурационный файл можно задать явно с помощью ключа /c.
Asql управляется теми же параметрами, что и VIP (см. раздел "Параметры компилятора VIP. ").
Примеры
Выполнить пакет обновлений БД: добавить записи, скорректировать все записи, добавить хранимую процедуру и получить отчет об итоговом содержимом таблицы. Операторы выполняются с правами супервизора:
asql.exe insert.lot /U:supervisor /#User:supervisor
asql.exe update.lot /U:supervisor /#User:supervisor
asql.exe SqlProcedure.lot /U:supervisor /#User:supervisor
asql.exe selectSQL.lot /U:supervisor /#User:supervisor
Файл insert.lot содержит добавляемые записи:
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 0';
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 3-1';
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 3-2';
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 2-1';
insert APPENDIX set APPENDIX.ABSTRACT = 'запись 2-2';
Файл selectSQL.lot содержит оператор прямого SQL на вывод содержимого указанных полей таблицы APPENDIX:
SQL select NRec, ATL_LASTUSER, ATL_BRANCH, ABSTRACT from APPENDIX;
Файл SqlProcedure.lot содержит текст хранимой процедуры:
sql procedure aaa(s : string);
{
insert into APPENDIX(ABSTRACT) values(s);
}
Файл update.lot содержит задание на корректировку поля ABSTRACT:
update APPENDIX set APPENDIX.ABSTRACT = APPENDIX.ABSTRACT+' updated';
Версия
Начиная с Атлантис 5.4.02.
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 21:41
LaaLaa
Ged вы поосторожнее с дезинформацией. Хочу возразить. Потому, что
вся документация по Галактике и по Инструментарию есть в свободном доступе. Качай не хочу.
Ресурс техподдержки
ftp://ftp.galaktika.ru/pub/support/gala ... n/baza/pdf открыт всем, регулярно обновляется. В частности utils.chm содержит описание asql.exe. Единственное нужно качать все с сети и смотреть на локале.
А упомянутый atldoc.chm не содержит никакой информации, это просто индексный файл со ссылками на 6 других книг (asdk.chm FRUser.chm RPP.chm Utils.chm VIP.chm Viper.chm) чтобы удобно с одного клика можно было их открыть и посмотреть в одном окне просмотра.
Более того atldoc.chm регулярно выкладываю вместе с
Viper-ом. Не верите можете скачать и убедится что это то же самое что выкладывает ТП в папку baza/pdf.
Все что есть, все есть в открытом доступе. Документацию никто не утаивает.
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 21:53
LaaLaa
galover писал(а):Вопрос про asql - это давно так, что нужно юзать эту утилиту? Есть ли хэлп по ней? Про drop - кстати тоже ошибку получаю - если делать из Support-a, если vip-ом, то проходит.
asql - сделали когда вышел 5.4 чтобы без препятствий лицензирования выполнять запросы к БД.
Про ошибку drop пользовательских таблиц это вероятно ошибка или не доработка. Проблем быть не должно. Лучше сообщить об этом это в ТП наверно редко, кто это делает. Может, что отломалось.
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 23:07
Ged
LaaLaa писал(а):
Ged/b] вы поосторожнее с дезинформацией.
Дезу не подсовывал, т.к. не пользуюсь "стандартой документацией"
LaaLaa писал(а):Про ошибку drop пользовательских таблиц это вероятно ошибка или не доработка.
Проблем быть не должно. Лучше сообщить об этом это в ТП наверно редко, кто это делает. Может, что отломалось.
PS: Ну вот.. Это вероятно ошибка или не доработка. Лучше сообщить об этом это в ТП ...
PPS: Vip для внесения изменений в словарь хоть и требует ключ, но все делает...
Видимо буду первооткрывателем - Зачем нужен asql?
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 23:11
galover
все отличие vip-а от asql в лицензировании?
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 03 мар 2011, 23:26
Ged
galover писал(а):все отличие vip-а от asql в лицензировании?
неа. какая то убогая утилита которая без чего то (лиц)
выполняет (или пытается выполнять) те же самые действия что и вип(без компиляции форм и прочего)
Фейсов не откомпилишь!
Re: Правильная докомпиляция словаря .. у drop
Добавлено: 04 мар 2011, 11:31
Masygreen
LaaLaa писал(а):
asql - сделали когда вышел 5.4 чтобы без препятствий лицензирования выполнять запросы к БД.
Про ошибку drop пользовательских таблиц это вероятно ошибка или не доработка. Проблем быть не должно. Лучше сообщить об этом это в ТП наверно редко, кто это делает. Может, что отломалось.
Михаил в документации по asql - utils.chm ни чего нет про докомпиляцию словаря ...
Внимательно прочитана рекомендация Фёдора Терсина
Это нужно знать: Инструментарий (Атлантис, Support, etc)
Но видимо совсем этим редко пользуются .. что не работает нифига.. или доки нет правильной...