|
|
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
Уважаемые !! Хотелось бы узнать ваше мнение по следующей ситуации ... Моя программа (VFP+SQL) работает в нескольких местах. Соотвественно в каждом месте находится как программа, так и SQL-сервер. Постоянного Internet-соединения между этими местами нет. Естественно, периодически вносятся измения как в саму программу, так и в sql. И тут возникает прроблема - обновленную версию программы я погу переслать по электронной почте, а изменеия в sql приходится вносить вручную (а это же надо выезжать, да и всегда есть риск что-то упустить). Посему возникло следующее решение - все изменения на SQL-сервере делать из программы - т.е. запускаем программу, она смотрит - надо ли делать изменения, а дальше - SQLEXEC(hndl,'ALTER TABLE ....') и т.д. Ваше мнение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:15:51 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
да только наверна new=filetostring('c:\updates\update.sql') sqlexec(m.cn,m.new) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:20:23 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
В принципе можно, но нужно учесть нюансы - например для обновления -соответствующие права пользователя должны иметься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 17:24:10 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
Я обычно на фоксе пишу процедуру обновления с индикатором и предварительным бакапом и раздаю заказчикам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 14:56:30 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
foxwizardЯ обычно на фоксе пишу процедуру обновления с индикатором и предварительным бакапом и раздаю заказчикам. Замечательно !!! Т.е. - перед выполнением обновления в прогамму вставляется что-то типа SQLEXEC(hndl,'BACKUP DATABASE ...') ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 15:51:54 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
Я уже довольно давно использую автообновление. Порядок таков: 1) при компиляции создается файл структур, индексов и ХП 2) далее обновление выкладывается в таблицу SQL сервера с обязательным фиксированием версии EXE-файла 3) клиентская станция при запуске проверяет текущую версию EXE-файала с версией прописанной на SQL сервере. 4) При различии версии установленной и предлагаемой выводит диалог с предложением установить боле свежую версию. 5) Если дано согласие, то завершается работа главного модуля программы и вызывается модуль закачки обновления, который после закачки обновления предлагает установить оное. 6) вместе с обновлением подтягиваются структуры, ХП и т.д. После затягивания предлагается заменить головной модуль, соответственно, если он никем не занят меняются кроме него все вспомогательные файлы. 7) при повторном запуске головного приложения задается запрос на выолнение в БД, ХП и т.д. и производятся все необходимые операции, соответствующие вновь затянутым файлам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2005, 16:04:47 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
WORKSNS 5) Если дано согласие, то завершается работа главного модуля программы и вызывается модуль закачки обновления, который после закачки обновления предлагает установить оное. А как сделана закачка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 06:45:29 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
Может немного не в тему, я испытываю немного другуютехнологию- создал таблицу в которой грубо говоря 2 поля имя программы С(50) и текст программы (Memo) при выборе меню программа достает текст из соответствующей записи, компилирует ее и запускает при этом достаточно просто вносить изменения при желании быстро найти изменения, наращивать состав задачи. а если это стоит на сервере, то получается довольно быстрая и универсальная серверная часть, оторванная от определенного приложения и позволяющая выполнять сервисные задачи по расписанию. более глубоко проработать к сожалению времени не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2005, 09:07:27 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
w3d WORKSNS 5) Если дано согласие, то завершается работа главного модуля программы и вызывается модуль закачки обновления, который после закачки обновления предлагает установить оное. А как сделана закачка? Закачка обновления производится как обычное получение курсора. На SQL сервере находится таблица имеющая следующие поля: Поле имени файла, типа VarChar Поле версии файла, типа VarChar Поле непосредственно самого файла, типа BLOB Механизм таков: Программа при запуске запрашивает версию EXE выложенного на сервере и сверяет с текущей версией (AGETFILEVERSION( )), если версия на сервере больше, то предлагает получить обновление. В случае согласия завершает свою работу и вызывает модуль получения обновления. Модуль обновления при помощи SELECT * FROM ... получает все файлы новой версии в курсор. Далее все файлы извлекаются в подпапку UPDATE с помощью команды COPY MEMO TO .... Далее программа переписывает вновь полученные файлы в папку программы, проверяя не заняты ли исходные файлы. Все, обновление получено и установлено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2005, 07:48:44 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
Глянь тут http://www.caws.atnet.ru/vfox/sql7.html. Я тоже использую закачку версий с сервера, но не только EXE - файлов, а любых. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2005, 22:15:28 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
вернемся к нашим баранам ... 1024 только наверна new=filetostring('c:\updates\update.sql') sqlexec(m.cn,m.new) Попробовал. Все замечательно - пока не понадобилось добавить сохраненную процедуру. Если делать так ... что-то ... CREATE PROCEDURE ... то выдается сообщение об ошибке, что оператор CREATE PROCEDURE должен быть первым. А если так - CREATE PROCEDURE ... GO ... что-то еще ... то ругается на GO. Подскажите, если не трудно, как это объехать ... На всякий случай - VFP-8, MS SQL 7.0, подключение через ODBC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2005, 17:51:07 |
|
||
|
Прошу прокомментировать (VFP+SQL)
|
|||
|---|---|---|---|
|
#18+
В T-SQL нет такой команды GO !!! Это директива двух утилит MICROSOFT (OSQL и Query Analyzer) и означает "конец пакета". SQL начинает выполнять твои команды, когда кончается пакет. Каждая SQLEXEC - это есть пакет, который может содержать много команд T-SQL. Некоторые команды T-SQL ОБЯЗАТЕЛЬНО должны быть в ОТДЕЛЬНОМ пакете. CREATE PROCEDURE... - одна из них.(только НЕ сохраненную, а хранимую). Если файл UPDATE.SQL ты формируешь средствами SQL, то он туда вставляет GO, так как предполагает, что скрипт будет выполнятся его средствами (OSQL или Query Analyzer). Вывод: Перед выполнением скрипта на сервера с помощью SQLEXEC, ты должен открыть это файл, как текстовый, средствами VFP и выполнять его по частям от GO до GO. Сама директива GO, разумеется в код, выподянемый на SQL Server попадать не должна. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 11:20:58 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33246498&tid=1593461]: |
0ms |
get settings: |
14ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 461ms |

| 0 / 0 |
