ошибка при подключении (ламерская)

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
maremora
Сообщения: 2
Зарегистрирован: 23 окт 2007, 14:45

ошибка при подключении (ламерская)

Сообщение maremora » 10 дек 2007, 18:13

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

I/O error for file "D:\VSS\NTC\FLAT\Base\NTC_DEV_01.FDB"
error while trying to open file
Процесс не может получить доступ к файлу, так как файл занят другим процессом

Возникает, если к базе подключиться клиентом из Delphi, а потом попытаться IBExpert-oм и наоборот..
разве что IBExpert более щедр и вначале дописывает к ошибке фразу
"Unsuccesful execution caused by a system errorthat precludes succesful execution of subsequent statements"


Своим скудным умишкой я понимаю, что идет борьба за доступ к реальному файлу базы данных и... опять же, как я предполагаю, должно лечиться при подключении обоих приложений как к удаленному серверу
однако... компонент на форме прописан вроде как с типом удаленного подключения

Код: Выделить всё

object IBDatabase1: TIBDatabase
    DatabaseName = 'murom:D:\VSS\NTC\Flat\Base\NTC_DEV01.FDB'
    Params.Strings = (
      'user_name=sysdba'
      'password=masterkey')
    LoginPrompt = False
    DefaultTransaction = IBTransaction1
    IdleTimer = 0
    SQLDialect = 3
    TraceFlags = []
    Left = 168
    Top = 40
  end
и в регистрационной записи IBExpert-а тоже комбик четко указывает на удаленный способ подключения
сервер FB 2,0,3,12981 супервервер запущен сервисом, операционка 2000 про
сервер сносить и устанавливать заново пробовал.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: ошибка при подключении (ламерская)

Сообщение stix-s » 11 дек 2007, 09:17

maremora писал(а):
и в регистрационной записи IBExpert-а тоже комбик четко указывает на удаленный способ подключения
сервер FB 2,0,3,12981 супервервер запущен сервисом, операционка 2000 про
сервер сносить и устанавливать заново пробовал.
база в каком режиме? normal? single?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 11 дек 2007, 10:30

Не стоило баловаться с FB Embedded без подготовки...

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 11 дек 2007, 11:16

Dimitry Sibiryakov писал(а):Не стоило баловаться с FB Embedded без подготовки...
погодь, он про суперсервер пишет

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 11 дек 2007, 12:29

антивирус?

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 11 дек 2007, 12:54

stix-s писал(а):погодь, он про суперсервер пишет
Которому ничего не мешает конфликтовать с завалявшимся где-нибудь Embedded. Впрочем, да - более вероятна попытка подключения к БД с разными путями.

maremora
Сообщения: 2
Зарегистрирован: 23 окт 2007, 14:45

ошибка таки ламерская

Сообщение maremora » 17 дек 2007, 18:00

Которому ничего не мешает конфликтовать с завалявшимся где-нибудь ........ Впрочем, да - более вероятна попытка подключения к БД с разными путями.
приняв за отправную точку идею о том, что у всех остальных проблем нет и проблема безусловно лично у меня.. (согреваясь мыслью, что может все-таки не в ДНК)

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

1) При инсталляции FB я как и было велено проверил предварительное отсутствие GDS32 в system32 нашел.. варварски стер
после окончания установки FB убедился, что свежая версия лежит на положенном месте. порадовался.
2) решил убедиться, что к этой GDS32 нормально в состоянии достучаться DELPHI.... проверил.. путь прописан.. компонент подключается. порядок.
3) момент истины.. пытаюсь проверить доступ к ней IB Expert-a
прописаных путей нет, зато обнаруживаю аналогичное имя в папке експерта. конкретно указываю system32\gds32.dll
4)О Чудо! ошибка испарилась.
----------------
Пишу не затем, чтобы показать свою тупость, а чтобы поблагодарить отозвавшихся и пролить свет примитивизма на столь страшно выглядящую ошибку
----------------
PS к базе то получается имеет право подключитсья тока одна одновременно клиентская библиотека?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 дек 2007, 18:04

к базе то получается имеет право подключитсья тока одна одновременно клиентская библиотека?
клиентская библиотека к базе НЕ подключается. Никогда и ни за что.
Это клиент-сервер. Поэтому к базе подключается ТОЛЬКО СЕРВЕР.
А клиентская библиотека только пересылает ему запросы.
Путь к файлу, указываемый в строке коннекта, передается СЕРВЕРУ - это ему указание, с какой БД работать.

Есть только одно исключение - это FB Embedded. То есть, это клиентская библиотека, куда встроен сервер. Отсюда кажется, что клиент работает с файлом БД. У тебя, похоже, на машине был и обычный сервер, и embedded. И, разумеется, ДВА сервера не могут работать с одним файлом БД одновременно.

Кстати, похоже, что FAQ ты не читал. www.ibase.ru/ibfaq.htm

Ответить