|
|
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
Сейчас делаю так: Выкладываю на сайт update.exe и update.sql. Пользователь скачивает файлы и обновляет приложение с помощью update.exe (Inno Setup) и из Query Analyzer-а запускает update.sql для обновления БД (MS SQL). Хотелось бы не заморачивать пользователей Query Analyzer-ом, а автоматизировать процесс обновления БД. К примеру, чтобы остался только update.exe, который бы сам проверял версию БД и обновлял, если нужно. Заодно это предотвратит всякие безобразия со стороны неопытных пользователей. Подскажите, какие есть решения данной проблемы? Использую: PowerBuilder + PowerDesigner + MS SQL + Inno Setup. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:08 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
Напишите небольшую программку, которая соединяется с БД, проверяет ее версию, соединяется с инетом, проверяет выложенную версию скрипта, если она более новая, выкачивает ее и запускает скрипт на БД. Далее вешаете ее на Sheduler, чтобы она запускалась с нужной периодичностью. По идее почти у всех приложений так и сделано. P.S. Правда не понятно, причем тут форум по СУБД Sybase. Может быть Вам нужно этот вопрос в форуме PB задать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:14 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
Да легче из этого Inno Setup вызвать ISQL, наверняка же можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 11:53 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
ASCRUSНапишите небольшую программку, которая соединяется с БД, проверяет ее версию, соединяется с инетом, проверяет выложенную версию скрипта, если она более новая, выкачивает ее и запускает скрипт на БД. Далее вешаете ее на Sheduler, чтобы она запускалась с нужной периодичностью. По идее почти у всех приложений так и сделано. Да, можно и написать. Но ещё есть надежда, что такая программа уже есть :) ASCRUSP.S. Правда не понятно, причем тут форум по СУБД Sybase. Может быть Вам нужно этот вопрос в форуме PB задать ? Задавал в PB уже... В Sybase аудитория побольше, как мне кажется, может знает кто.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 13:03 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
MasterZivДа легче из этого Inno Setup вызвать ISQL, наверняка же можно. Наверное можно. Только как это сделать? Наверняка кучу времени убить нужно, чтобы это реализовать красиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 13:05 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
В одной из моих программ (ASA + PB) работает такая схема (упрощенно) 0. программа обновления обновляет клиентскую часть, базу (базы) не трогает. 1. клиент при подключении к БД сравнивает версию БД (из спец. таблички в БД) и версию зашитую в клиенте или из ini файла. 2. Если номер версии ниже, ищет в папке UpgradeDB скрипты обновления БД по имени файла "номер версии БД" + ".sql" 3. По очереди выполняются скрипты обновления начиная с текущей версии до нужной версии через EXECUTE IMMEDIATE. 4. Если нет ошибок, обновляется версия в табличке БД и продолжается работа с БД. 5. если есть ошибки предлагается переход в режим администратора БД, где юзер может выполнить любой скрипт. БД обновляется при первом подключении клиента. При этом решается проблема того, что программа обновления клиента, да и сам клиент, заранее не знают где находятся все возможные БД пользователя программы. У меня клиентская часть работает с неограниченным количеством баз данных. Кусочек кода по обновлению БД на PB Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 13:24 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
rcryoВ одной из моих программ (ASA + PB) работает такая схема (упрощенно) Спасибо, сделаю что-то подобное. Жаль, что готовых программ на эту тему нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 15:41 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
Да почему же нет? Мы обновления рассылаем в InstallShield (но это не так важно :) В InstallShiled'овском архиве лежат файлы обновляемые в клиентской программе, плюс куча sql скриптов. Они запускаются через примитивнейшую программку, написаную за пять минут, - открыть ODBC-connection по известному DSN, прочитать текстовый файл, запихнуть текстовый файл в открытый коннект, запустить на выполнение, закрыть коннект. И собственно говоря все. Коннект к базе осуществляется от имени специального юзера с DBA правами. Клиентам его имя/пароль не известны. В общем проблем за несколько лет не обнаружилось :) Сначала вместо самописной программки использовали dbisqlc.exe из стандартного набора утилит. Потом решили перестраховаться и заменили его на свою программку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 18:27 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
Спасибо. Скоро начну писать wizard для обновления версии БД. Возникает только один вопрос: как сделать, чтобы PowerDesigner генерил скрипт, который обновляет версию БД в какой-нить табличке? Что-то типа: === crebas.sql === create table .... alter table .... insert into version_table(version) values ( %version% ). === crebas.sql === Где %version% - это версия БД в PowerDesigner-e. Это необходимо для полной автоматизации процесса сборки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 11:52 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
В свойствах модели PDM, на вкладке General есть параметр Database. Здесь можно создать и привязать к модели базу данных. В свойствах БД есть вкладка Script с двумя закладками Begin и End, туда и пишешь нужный скрипт При генерации БД не забудь поставить галочки на вкладке Database, параметры Begin script и End script ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 15:20 |
|
||
|
Автоматическое обновление БД
|
|||
|---|---|---|---|
|
#18+
rcryoВ свойствах модели PDM, на вкладке General есть параметр Database. Здесь можно создать и привязать к модели базу данных. В свойствах БД есть вкладка Script с двумя закладками Begin и End, туда и пишешь нужный скрипт При генерации БД не забудь поставить галочки на вкладке Database, параметры Begin script и End script Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2004, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32596259&tid=2014363]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
145ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 473ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...