powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Замена активной базы
17 сообщений из 17, страница 1 из 1
Замена активной базы
    #39994812
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано:
Сервер FB 3.0.6 Classic, OS Win2019
По TCP протоколу с удаленной машины произведено подключение к базе
На сервере файл базы без проблем заменяется на другой (я забываю о наличии подключения)

После этого начинаются разные артефакты при выполнении запросов к этой базе.

Вопрос: может сервер должен блокировать файл и не давать его перезаписывать?

Перезапись выполняется батником
Код: powershell
1.
copy /y MyDB_0.fdb MyDB.fdb



Или для классика это невозможно? Удалить файл при наличии подключения нельзя

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Замена активной базы
    #39994823
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Или для классика это невозможно?

Невозможно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Замена активной базы
    #39994824
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
02.09.2020 14:50, _Vasilisk_ пишет:
>
> Перезапись выполняется батником

развести права по разным аккаутам ОСи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Замена активной базы
    #39994825
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

правильные права в файловой системе могут с этим помочь.
...
Рейтинг: 0 / 0
Замена активной базы
    #39994833
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но если такой батник выполняется от админа, то, наверное, без толку с правами заморачиваться.
авторя забываю о наличии подключения

тут это вот ключевое было.
Ибо в безусловных рефлексах должно быть (если одна база на сервере)
Код: powershell
1.
netstat -n|find "3050"


Или смотреть в таблицы мониторига конкретной базы, если несколько.
...
Рейтинг: 0 / 0
Замена активной базы
    #39994836
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
развести права по разным аккаутам ОСи.
Как? Файл мне все равно нужно заменять. Только когда к нему нет подключений.

В общем обнаружил, что при наличии подключения файл невозможно удалить. Поэтому обошелся таким батником

Код: powershell
1.
2.
3.
4.
5.
6.
7.
del MyDB.fdb
if exist MyDB.fdb (
  pause
  goto :eof
) else (
  copy MyDB_0.fdb MyDB.fdb
)
...
Рейтинг: 0 / 0
Замена активной базы
    #39994838
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

0) Файл удалить можно (типа подключений нет)
1) Начинаем копировать файл
2) Кто-то цепляется, пока файл недокопирован
3) Получаем геморрой на пустом месте...

Может проще - сервис Stop/копируем/сервис Start?
...
Рейтинг: 0 / 0
Замена активной базы
    #39994842
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Как? Файл мне все равно нужно заменять. Только когда к нему нет подключений.
Код: plaintext
 drop database;
и только в случае успеха:
Код: plaintext
 ren запасное-имя нужное-имя
...
Рейтинг: 0 / 0
Замена активной базы
    #39994845
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

+1
...
Рейтинг: 0 / 0
Замена активной базы
    #39994853
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Файл мне все равно нужно заменять.

А у тебя есть хороший ответ на вопрос "зачем?"

Может, наплюнуть уже на тройку и мигрировать на четвёрку с RO репликой?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Замена активной базы
    #39994878
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
А у тебя есть хороший ответ на вопрос "зачем?"
Да. Это тестовая база и сейчас тестирую скрипт импорта
...
Рейтинг: 0 / 0
Замена активной базы
    #39994879
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Мимопроходящий
развести права по разным аккаутам ОСи.
Как? Файл мне все равно нужно заменять. Только когда к нему нет подключений.

В общем обнаружил, что при наличии подключения файл невозможно удалить. Поэтому обошелся таким батником

Код: powershell
1.
2.
3.
4.
5.
6.
7.
del MyDB.fdb
if exist MyDB.fdb (
  pause
  goto :eof
) else (
  copy MyDB_0.fdb MyDB.fdb
)



Зачем удалять? Переименуй.
Текущие коннекты будут к старому, новые - к новому.

PS расскажи, как оно будет. как сойдутся блокировки :)
...
Рейтинг: 0 / 0
Замена активной базы
    #39994935
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Это тестовая база и сейчас тестирую скрипт импорта

Тогда да, удаление её перед копированием это нормально. Как и остановка сервера. Ну а
проще тестировать скрипт в embedded режиме. Или тебе для тестов нужны конкурирующие
коннекты?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Замена активной базы
    #39994940
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, что del не устанавливает ERRORLEVEL при ошибке. Или я что-то не так пробовал.
...
Рейтинг: 0 / 0
Замена активной базы
    #39994970
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Ну а проще тестировать скрипт в embedded режиме
Да хочется в IBExpert смотреть что получается
Dimitry Sibiryakov
Странно, что del не устанавливает ERRORLEVEL при ошибке
Сам удивился. Потому и IF EXIST. У меня и ключ /-y для copy игнорировался. А в xcopy нормально воспринимался
...
Рейтинг: 0 / 0
Замена активной базы
    #39995001
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Странно, что del не устанавливает ERRORLEVEL при ошибке. Или я что-то не так пробовал.

Лайфхак :
Код: plaintext
del /q \Tools\test.txt 2>&1 1>nul | find /V ""
Вернёт 1, если файл был удалён и 0 в случае ошибки. Редиректы обязательны.
...
Рейтинг: 0 / 0
Замена активной базы
    #39995706
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор так и не дочитал доку до утилиты gfix и ключа ответственного за shutdown базы... столько слов, когда все уже все необходимое есть.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Замена активной базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]