powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможно ли создать БД, работающую на чтение на CD?
15 сообщений из 65, страница 3 из 3
Возможно ли создать БД, работающую на чтение на CD?
    #39116687
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
select MON$READ_ONLY from MON$DATABASE



http://dba.stackexchange.com/questions/29919/firebird-monitoring-tables
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117114
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch
Код: sql
1.
select MON$READ_ONLY from MON$DATABASE





Если база не в состоянии ReadOnly, то запрос возвращает одну строку со значением 0. Если база в состоянии ReadOnly, то запрос не отрабатывается, возникает ошибка.

Если сделать так :

Код: pascal
1.
2.
3.
4.
5.
  try
    qReadonly.ExecQuery;
  except
    ShowMessage('Read Only!');
  end;



то это будет нормально? Или это будет бред?
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117376
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72возникает ошибка
Ага, красненькая. В сад, блондинко.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117435
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovVad72возникает ошибка
Ага, красненькая. В сад, блондинко.


The insert, update, delete, ddl or authorization statement cannot
be executed because the transaction is inquiry only.
attempted update on read-only database.
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117447
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad722. Как написать кусок кода, где в цикле передвигались по всем компонентам в TDM = class(TDataModule)

куда копать, как можно в цикле обойти все TpFIBDataSet ?
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117452
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Vad72!
You wrote on 1 декабря 2015 г. 15:30:26:

Vad72> куда копать, как можно в цикле обойти все TpFIBDataSet ?
в форум "работа"
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117453
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72,

Я сейчас этот запрос выполнл в IBExpert на FB 2.1.7 бд ODS 11.1 read-only (хотя и с винчестера, упихивать ее в ISO в лом).
Запрос выдал единицу без ошибок.

IBExperts как раз врде ФИБами пользуется?

То есть вообще с нормальными компонентами доступа и в read-only транзакции она таки должна возвращать значение.

Попробуй для этого запроса явно начать read-only транзакцию, или явно начать обычную r/w транзакцию, а после запроса ее откатить. Смотри какие компоненты для явного управления транзакциями у тебя есть в компонентах и поищи как в них настраивать read-only транзакцию.

Потому что могут быть разные ошибки ,например может быть версия сервера или версия БД в которой просто нет этой таблицы.

Так что тебе надо ЯВНО завести транзакцию и яно ее сделать r/o и явно именно через нее пропустит ьэтот запрос. После чего анализировать результат ноль или не ноль.

А если ошибка - то тебе езе нужно будет отдельно анализировать какая конкретно ошибка.

PS. руками возиться с транзакциями нудно, но если этого неделать как только программа твоя станет более менее сложной начнешь сам себе наступать на пятки... Так что начиная изучать транзакции ради read-only, а там потихоньку втянешься
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117457
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72Vad722. Как написать кусок кода, где в цикле передвигались по всем компонентам в TDM = class(TDataModule)

куда копать, как можно в цикле обойти все TpFIBDataSet ?

в букварь по Дельфи - как перебрать все компонент на форме миллион раз во всхе FAQ обсасывалось

или в документацию Delphi по свойствам класса TComponemt

но к базам данных это точно отношения не имеет
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117467
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochVad72пропущено...

куда копать, как можно в цикле обойти все TpFIBDataSet ?

в букварь по Дельфи - как перебрать все компонент на форме миллион раз во всхе FAQ обсасывалось

или в документацию Delphi по свойствам класса TComponemt

но к базам данных это точно отношения не имеет
пока забил на это, тупо скопировал из шапки модуля перечень компонентов и засунул его в код.
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117469
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72,

будешь это делать при каждом добавлении/переименовании/удалении и никогда никогда ни разу не забудешь?

ну вообще, это нормально, где мало работает голова - там много работают руки и наоборот
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117479
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochVad72,

будешь это делать при каждом добавлении/переименовании/удалении и никогда никогда ни разу не забудешь?

ну вообще, это нормально, где мало работает голова - там много работают руки и наоборот
просто зачем тратить сейчас на это время, нужно для начала понять, что настроить в свойствах TpFIBDataSet , чтобы не было ошибок. Если получится, то тогда вернусь к автоматизации пункта 2.
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117490
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72,

в датасете скоре всего ничего - надо найти компонент транзакции, его настроить r/o и пустить твой запрос через эту транзакцию

в общем гугли как в fib+ (или какая у тебя библиотека доступа) работают с r/o базами данных и как в ней явно управляют транзакциями
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117491
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и зачем тебе НЕСКОЛЬКО TpFIBDataSet для работы с одной БД ?
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117496
Фотография Vad72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochи зачем тебе НЕСКОЛЬКО TpFIBDataSet для работы с одной БД ?
ну так в программе\БД не одна таблица\выборка
...
Рейтинг: 0 / 0
Возможно ли создать БД, работающую на чтение на CD?
    #39117505
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vad72,

все, вечер, пора гулять

dataset и database перепутал

ну короче ищи про явное управление транзакциями через специальный на то компонент

и вообще - будут выходные - почитай про транзакции таки

а то однажды словишь что-нибудь в стиле "SQL error code = -504 Invalid cursor reference" и будешь ооочень долго разрывать неожиданные петли влияня датасетов друг на друга
...
Рейтинг: 0 / 0
15 сообщений из 65, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Возможно ли создать БД, работающую на чтение на CD?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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