Страница 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

Код: Выделить всё

alter dictionary;
drop table Listmmm;
Где косячу???

Re: Правильная докомпиляция словаря .. у drop

Добавлено: 03 мар 2011, 15:51
Vik

Re: Правильная докомпиляция словаря .. у drop

Добавлено: 03 мар 2011, 16:31
Masygreen
не совсем.. согласно галактический мануалов я делаю все правильно ... т.к. не трогаю alert disconary..
опять таки почему drop не работает..

Re: Правильная докомпиляция словаря .. у drop

Добавлено: 03 мар 2011, 17:05
LaaLaa
Помоему не нужно делать

Код: Выделить всё

FullSQL=On
Это как раз активирует режим не пользовательских изменений.

А вообще для выполения манипуляций с БД нужно использовать не 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)
Но видимо совсем этим редко пользуются .. что не работает нифига.. или доки нет правильной...