среда, 1 июля 2015 г.


Какие страшные скрипты вы бы
ни сделали с помощью этой программы,
говорю сразу, что сама программа 
ничего не сотрёт и ничего не изменит.
Она только пишет скрипты,
а прогон-это уже к ENTERPRICE MANAGER.

Адрес для скачивания.
https://drive.google.com/file/d/0B2hfyDOpVkzjSzh4R1plWHlIRUE/view?usp=sharing

Раззипте, кликните 
table_command.exe 
и приятной работы.

В конце статьи есть примечание.
Типа, не скачивайте эту программу на сильный сервер.

Тем, кому портили жизнь те-же проблеммы, что и мне,
и среди них FOREIGN KEY,
может быть, станет любопытно.

Итак. Прибегает взмыленный босс и шипит:
"Hе буду копать, кто наколбасил,
 но грант на delete со всех таблиц убрать, немедля".

А тaблиц, за сотню.
И доступ к ним открывали всем известной коммандой

grant select,delete,insert,update on [table] to public

постепенно, по мере создания.
А теперь, за 5 минут, пойди и забери грант у всех таблиц.
Вот с этого начиналась TABLE COMMAND.

Главный экран программы выглядит, примернo, так.
Некоторую конфедециальную информацию
пришлось стереть.



























Я, полагаю, что вы , уже поняли, что 
экран делится на несколько площадок.


















Перечень объектов выглядит так




















Т.к. выбранны "TABLES", то в площадке номер 1
появляется список таблиц,

выберите "PROCEDURES появятся процедуры и.т.д 

В площадке номер 2,
стабильно показанн список баз.
Строка с активной базой, приобретает серый фон и обозначенна
синей галочкой, стрелка 3.

Соответственно в 1-й площадке, отображенны объекты активной базы.

А теперь покажем, как снять грант на delete, 

со всех таблиц.





















Я думаю, что вы всё уже поняли.
В верхней площадке, назовём её ШАБЛОН, набранна комманда,
с прикидом на то, что ~ будет замененна на
имя объекта из левого списка.
Добавлю, если он помечен галочкой.
Давится батон "BUILD YOUR SYNTAX"
и искомый скрипт появляется в нижней площадке.
Вы его оттуда копируете в ENTERPICE MANAGER и прогоняете.

TABLE COMMAND ничего в базе сделать не может.
Она READ ONLY.

Если вы добрались до сюда, то я поражаюсь вашему терпенью.
Поговорим о 2  маленькиx CHECK BOX
*NON COMPUTED
*ALL FIELDS
Не будем утомлять друг друга Скрин Шотами,
если вы будете работать с программой, всё станет понятно
очень быстро.

Вы в шаблоне набрали комманду
select * from ~

Ни один из 2 CHECK BOX не зажжён.
Замене подвергнется только ~ на имя таблицы.

Если зажжён
*NON COMPUTED
то вдобавок, звёздочка поменяется на список постоянных-
не вычисляемых полей через запятую.

Если зажжён
*ALL FIELDS
то вместо звёздочки появится список всех полей.

Не стану сейчас объснять, зачем это нужно,
поверьте, что  жизнь заставила.
Слово IDENTITY слыхали?
Bот так .

Если из перечня объектов выбранно
DATABASES,
то ~ будет брать себе замены из списка баз данных,
что справа.
Если не вдарятся в мелочи, то всё.

А что за мелочи ?
Видите маленький батончик
object  ?




























Наберите в шаблоне, некую подстроку,
которая присутствует в имени некоторых
ваших таблиц, в моём случае, я взял LOG,
нажимаем батон
object
и он фильтрует нам список таблиц.

Нажмём батон
column
получим список полей таблиц из левого списка.
Выглядит так себе,
но если скопировать его в EXCEL,
получается недурно.


А это стартовый зкран для подсоединения к серверу.


Можно сэкономить на заполнение этой анкеты.
Откройте экранной кнопкой- ваш приказ пойдёт через NOTEPAD- файл
bondar0.txt, он находится в той же библиотеке , где и программа.
Внесите в новую строчку или поправьте в существующей, координаты вашего сервера,
через TAB, чтоб программа могла понять, где заканчивается
имя сервера и начинается имя базы,
где заканчивается имя базы и начинается имя юзера,
через TAB, после юзера, можно внести и пароль, хотя, лучше этого не делать.
Сохраните изменения.
Нажмите REFRESH для загрузки на экран нового списка,
Пока.

Программа сделанна на PowerBuilder .
Что касается подключения PowerBuilder к SQL SERVER. В двух словах так:
Не ставьте программу на серверный компьютер, ставьте на компьютер пользователя.
Второе, PowerBuilder не любит бесплатные SQL SERVER, всякие там Экспрессы.
С обычного корпоративного кляента, должна отработать.

Что касается FOREIGN KEY.
Программа даёт 2 скрипта на 1)сбивание и 2)восстановку всех FOREIGN KEY.
Как сказала героиня сериала "Следствие ведут ЗНАТОКИ",
тыча в нос Джигарханяну портативный браунинг:
"У Вас такой игрушечки нет ? Жаль, бывает очень полезно".
Кажется, её играла Раневская.
------------------------------------------------------------------------------------------------------------------
Те из вас, что заинтересуются моей попыткой
построения иерархической структуры (дерева), почти из ничего,
и без лишних инсталляций
приглашаются в блог HOME CATALOG.
http://srulbond.blogspot.co.il/2015/05/blog-post.html

Для любителей внешних ключей, не к ночи будут помянуты:
http://srulbond2.blogspot.co.il/2015/12/table-depends.html

Кому интересна тема зависшего сервера SQL, как хотя бы приблизиться к развязке
этой ситуации.Приглашаются сюда:
https://sqlactiveprocess.blogspot.com

1 комментарий:

  1. Вчера налетел на милый такой баг в опции FOREIGN KEY.
    Оказывается, я не был готов к тому, что в базе будут ещё схемы,
    кроме dbo.
    Вроде, поправил.
    Для тех, кто уже скачал программу,
    Возьмите из новой верcии ЗИПа
    table_command.exe
    table_command.pbd

    ОтветитьУдалить