powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Доступ к базе клиентами разной разрядности
22 сообщений из 22, страница 1 из 1
Доступ к базе клиентами разной разрядности
    #40097391
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В качестве эксперимента: запустил два сервера разной разрядности в дефолтными конфигами в одной ОСи (венда)

"D:\<skiped>\Firebird_3_0_7_x32\firebird.exe" -a -p 30732 (x32)
"D:\<skiped>\Firebird_3_0_7_x64\firebird.exe" -a -p 30764 (x64)

Цепляюсь птичкой x64 по TCP/IP (из своего софта) - коннект есть. Параллельно пытаюсь открыть эту же базу через 32-битный сервер (IBE) - получаю отлуп:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements.
I/O error during "CreateFile (open)" operation for file "D:\ARCHIVE\CODE_SOURCE\LEYBASOFT_ARM_V5\DBASE\ARMDOC_5000_UNICODE_FB3.FDB".
Error while trying to open file.
Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. .
------------------------------------------------------------------------------------------------------------------------------------
SQLCODE: -902
SQLSTATE: 08001
GDSCODE: 335544344



Если закрыть коннект 64-битного сервера, то коннект в 32-битном проходит успешно. Также коннекты успешны, если цепляться к базе через сервер одной и той же разрядности в пределах одной ОСи.

Так должно быть? Или что-то в конфигах крутить надо?
=================
Док.

Win10 Ultim x64/Deb 10 amd64/Darwin Cocoa:
FB 3.0.7.33374, Lazarus 2.1(trunk); FPC 3.3.1(trunk)
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097394
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

если суперсервер, то даже одинаковой разрядности два разных не пройдут.
А если классик или суперклассик - то да, разная разрядность - отказать, одинаковая - можно.
Собственно, 32-разрядные сервера ФБ сейчас имеет смысл пользовать только если у тебя есть 32разрядные UDF, которые нечем заменить для 64 (ни перекомпилировать, ни заменить встроенными функциями).
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097396
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я наверное мохом порос, но от идеи цепляться к одной базе двумя серверами одновременно у меня что-то глаза на лоб лезут независимо от разрядностей...
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097398
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

так-то, если оба классика, смысла и правда нет. А вот если один классик, а другой суперклассик - да.
Настраиваем на суперклассике память сортировок, и отправляем туда отчетные запросы.
Тогда - профит. Хотя, опять же, память сортировок можно вздуть и на классике, она же выделяется только по мере надобности.

Так что, самое осмысленное - это несколько приложений в режиме embedded на одном компе. Тут - да, они все типа суперсклассик.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097400
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
А если классик или суперклассик - то да, разная разрядность - отказать
В 4-ке уже можно
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097404
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

это от нужды: IDE (Лазарь) в дебаге собирает х64 экшеник, соответственно требует 64-битного клиента. А вот IBE, как выяснилось, бывает в природе только 32-битный. Вот и приходится, как светофору, пускать движение поочередно :)


kdv
Собственно, 32-разрядные сервера ФБ сейчас имеет смысл пользовать только если у тебя есть 32разрядные UDF, которые нечем заменить для 64 (ни перекомпилировать, ни заменить встроенными функциями).

IBE, к сожалению, кушает только 32-битного клиента. Что-то другое для отладки запросов ставить не хочется
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097414
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокА вот IBE, как выяснилось, бывает в природе только 32-битный. Вот и приходится, как светофору, пускать движение поочередно
ну что ты, ей-богу. 32битный ИБЕ прекрасно коннектится к 64бит серверу. Ну клиент 32битный ему нужен, и что? Для этого разве надо ставить 32битный сервер?
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097415
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

ох..ть! Дим, ты мне щас Америку открыл. И правда, так можно о_О
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097451
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
ты мне щас Америку открыл

Серьёзно?
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097466
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
Старый плюшевый мишка,

это от нужды: IDE (Лазарь) в дебаге собирает х64 экшеник, соответственно требует 64-битного клиента. А вот IBE, как выяснилось, бывает в природе только 32-битный. Вот и приходится, как светофору, пускать движение поочередно :)


kdv
Собственно, 32-разрядные сервера ФБ сейчас имеет смысл пользовать только если у тебя есть 32разрядные UDF, которые нечем заменить для 64 (ни перекомпилировать, ни заменить встроенными функциями).

IBE, к сожалению, кушает только 32-битного клиента. Что-то другое для отладки запросов ставить не хочется


очень странно. Я таких проблем не замечал. Ты точно подцепляешься через TCP/IP? И из IBE и из прикладухи? Или всё же у тебя embedded?
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097486
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Тогда - профит.


Круто, не знал о такой возможности!

Независимо от темы топика: Firebird-у не хватает варианта сервера типа "Суперсервер в рамках одной базы, но на каждую базу свой процесс". Имеется ввиду автоматически, а не создавая экземпляры вручную.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097493
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не хватает, на самом деле, общего страничного ARC-кэша.
Чтобы набор кэшируемых страниц автоматически "подбирался" под ввод-вывод (по всем базам).
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097556
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док
kdv,

ох..ть! Дим, ты мне щас Америку открыл. И правда, так можно о_О
Ну ты дал, конечно...
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097567
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_devНу ты дал, конечно..
"у tcp нет разрядности" :-) А локальный протокол в тройке и далее лучше оставить для embedded.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097574
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov
Не хватает, на самом деле, общего страничного ARC-кэша.
Чтобы набор кэшируемых страниц автоматически "подбирался" под ввод-вывод (по всем базам).


Пока меня больше вопрос надежности волнует.

Я с суперсервером только начинаю знакомиться. Вот, подскажите, как в суперсервере разрешается такая ситуация. Посыпалась база, откатились до копии. Народ подключается к обоим базам и пытается вручную переносить свою работу (то, что было занесено с момента сохранения копии), из глючной базы в работающую копию и периодически натыкаясь на внутренние ошибки сервера. Как суперсервер справляется, если одна из баз глючная? Не приведет ли это к повреждению уже второй, рабочей, базы?
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097579
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

а что так можно? Пользователи никого ещё не убили? :)
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097581
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ggreggory
Basil A. Sidorov
Не хватает, на самом деле, общего страничного ARC-кэша.
Чтобы набор кэшируемых страниц автоматически "подбирался" под ввод-вывод (по всем базам).


Пока меня больше вопрос надежности волнует.

Я с суперсервером только начинаю знакомиться. Вот, подскажите, как в суперсервере разрешается такая ситуация. Посыпалась база, откатились до копии. Народ подключается к обоим базам и пытается вручную переносить свою работу (то, что было занесено с момента сохранения копии), из глючной базы в работающую копию и периодически натыкаясь на внутренние ошибки сервера. Как суперсервер справляется, если одна из баз глючная? Не приведет ли это к повреждению уже второй, рабочей, базы?

Сервер может упасть даже при исправной базе, например - из-за ошибок в коде сервера. Код сервера вряд ли заточен под работу с непредсказуемо кривыми файлами базы, т.обр., вероятность падения, наверное, должна повышаться.
Файл базы может глючить, например, и из-за сбоя файловой системы. В этом случае работа с другими, якобы исправными файлами, может привести к порче и исправных файлов.
Не надо так делать, короче.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097582
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggoryНарод подключается к обоим базам и пытается вручную переносить свою работу (то, что было занесено с момента сохранения копии), из глючной базы в работающую копию и периодически натыкаясь на внутренние ошибки сервера. Как суперсервер справляется, если одна из баз глючная? Не приведет ли это к повреждению уже второй, рабочей, базы?
вторая, рабочая база никак не может быть "повреждена ошибками из первой", это какие-то невообразимые домыслы, если выражаться мягко. Просто потому что в нее вливаются данные штатным sql.

А вот с первой, битой базой - чаще всего из-за повреждений с ней невозможно работать, или как минимум поврежденный участок не скопируется и не прочитается никак. Сервер (и тут до лампочки, суперсервер это или что-то еще) при обнаружении серьезных ошибок прекращает работать с базой принудительно, о чем выдает соответствующее сообщение.
Нормально и по максимуму экспортировать базу можно экспортом в FirstAid, поскольку тут Firebird не задействован для чтения поврежденных данных.
Читаем
https://ib-aid.com/download/docs/firebird_firstaid_recovery_guide_ru.pdf
с 10й страницы - "Ремонт с помощью извлечения данных"
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097589
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ъъъъъ
Код сервера вряд ли заточен под работу с непредсказуемо кривыми файлами базы, т.обр., вероятность падения, наверное, должна повышаться.
Файл базы может глючить, например, и из-за сбоя файловой системы. В этом случае работа с другими, якобы исправными файлами, может привести к порче и исправных файлов .


Да-да, вот про это я и спрашиваю.

kdv

вторая, рабочая база никак не может быть "повреждена ошибками из первой", это какие-то невообразимые домыслы, если выражаться мягко. Просто потому что в нее вливаются данные штатным sql.


Смысл в том, что в момент "вливания" активны как коннекты к хорошей базе, так и коннекты к глючной базе. Последние приводят к внутренним ошибкам сервера. Это имелось ввиду. И да, речь не о ремонте, а именно о ручном переносе данных операторами, без привлечения каких-либо специалистов по БД.

Просто классику по-барабану: ну упал процесс, ну стала глючная база ещё более глючной, что уж тут поделать.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097593
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggoryДа-да, вот про это я и спрашиваю.

Если у вас сдохла файловая система, то боржоми уже можно не пить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097594
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggoryДа-да, вот про это я и спрашиваю.
про что - если первая база повредилась на компе из-за глюков памяти или файловой системы, и там же сделали вторую базу, которая может быть аналогично повреждена?
Это не вопрос, и ФБ тут вообще ни при чём.
ggreggoryПоследние приводят к внутренним ошибкам сервера. Это имелось ввиду. И да, речь не о ремонте, а именно о ручном переносе данных операторами
ну, тогда да, имеет смысл обезопаститься, 2 супера на разных портах. Но в таких случаях, когда с исходной базой возникают
internal Firebird consistency check
"работа операторов" - вообще бред. Как можно что-то перенести, если любой тычок в поврежденные данные приводит к ошибке, и последующей невозможности работы с базой?
Я понимаю, что у вас идет проработка сценариев, но этот сценарий совсем хреновый. Тут при ремонте-то приходится всякие действия повторять по 2-3 раза, а вы про "операторов" говорите. Которые ничего кроме тупого тыканья кнопки сделать не могут.
Гораздо эффективнее и быстрее отремонтировать или экспортировать БД, а уже потом переносить данные.

Кроме того, в подобных случаях нет никаких бэкапов, а если и есть, то битая база от сентября, а ее копия - от января. И залить данные из сентябрьской в январскую не всегда возможно.
А есть еще такие, когда дают базу на ремонт, и продолжают с ней работать. А потом спрашивают - как из побитой базы перенести данные в починенную? В 80% случаев - никак. А даже если и "как", то это может сделать только разработчик приложения и БД. Оператор этого сделать никак не сможет.
...
Рейтинг: 0 / 0
Доступ к базе клиентами разной разрядности
    #40097631
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

ggreggoryДа-да, вот про это я и спрашиваю.

Если у вас сдохла файловая система, то боржоми уже можно не пить.


Есть только битая БД. Почему да как это произошло - за скобками. Откатились до копии, всё работает, но данных немного не хватает. Надо довнести.

kdv
Как можно что-то перенести, если любой тычок в поврежденные данные приводит к ошибке, и последующей невозможности работы с базой?


Голь на выдумки хитра!

kdv

ну, тогда да, имеет смысл обезопаститься, 2 супера на разных портах.


Ясно. В общем, это и предполагал, но думал - а вдруг? :)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Доступ к базе клиентами разной разрядности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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