Как из процедуры узнать что БД находится в режиме ReadOnly?
-
- Сообщения: 3
- Зарегистрирован: 07 май 2010, 11:13
Как из процедуры узнать что БД находится в режиме ReadOnly?
Т.е. если БД в режиме только для чтения, то не делать такие-то операции.
Firebird 2.1.1 (Windows Build)
Firebird 2.1.1 (Windows Build)
Re: Как из процедуры узнать что БД находится в режиме ReadOn
из процедуры - никак. узнать что база в read-only можно только с клиента. gstat -h, сотв. вызов Services API, или (вроде) TIBDatabaseInfo.
-
- Сообщения: 3
- Зарегистрирован: 07 май 2010, 11:13
Re: Как из процедуры узнать что БД находится в режиме ReadOn
Спасибо за ответ.kdv писал(а):из процедуры - никак. узнать что база в read-only можно только с клиента. gstat -h, сотв. вызов Services API, или (вроде) TIBDatabaseInfo.
Но решение всё-таки нашел - создать таблицу DBMODE, в ней установить в поле READONLY = 1, _перед_ переводом БД в ReadOnly. А из процедуры уже осуществлять проверку по этой таблице и полю.
Вообще то я думал что из системных таблиц можно эту инфу взять.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Как из процедуры узнать что БД находится в режиме ReadOn
А MON$DATABASE.MON$READ_ONLY не оно?..
-
- Сообщения: 3
- Зарегистрирован: 07 май 2010, 11:13
Re: Как из процедуры узнать что БД находится в режиме ReadOn
Во, классно, оно. То, чего и искал.Dimitry Sibiryakov писал(а):А MON$DATABASE.MON$READ_ONLY не оно?..
Спасибо.
select MON$READ_ONLY from MON$DATABASE
Re: Как из процедуры узнать что БД находится в режиме ReadOn
склероз, извиняюсь. в уме вычисляю наименьший общий знаменатель для всех версий ФБ.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: Как из процедуры узнать что БД находится в режиме ReadOn
Сразу возникает резонный вопрос: а где же ты, собственно, искал-то?..ThreeDHead писал(а):То, чего и искал.