Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Доступ по к базе IB c использованием NamedPipe [D5, FB 1.5.1]


Страницы:   1 2

Карелин Артем ©   (2004-08-19 13:02:00) 

Как указать что база лежит на том же компе, что и программа?
Что должно стоять на компе для поддержки такого доступа к базе. //Должно работать на любых виндах после 95.


Digitman   (2004-08-20 15:49:00) [1]


> Карелин Артем ©   (20.08.04 14:55) [26]



> Т.е. подозрение на UDF


нет, необязательно ... но и в том числе ..

AV, возникшие (при определенных условиях) в телах "кривых" UDF, приводят как правило к аварийному завершению процесса сервера , при котором, естественно, сервер закроет по своей инициативе все существующие активные коннекты к нему

гвардеец, отследив эту ситуацию, стартует процесс сервера вновь, что и наблюдается согласно логу ...


Карелин Артем   (2004-08-20 14:55:00) [2]

Digitman ©   (20.08.04 14:50) [25]
Т.е. подозрение на UDF...
Вообще исключить вызовы проблематично по причине их необходимости во время работы с базой и того факта, что эксперимент должен быть долгим. FB рушится то 3 раза в день, то раз в 3 недели. Определить конкретный источник не удается. Рушился даже во время бэкапа.
А можно поинтересоваться хотя бы беспочвенными подозрениями или случаями из личной практики?


Digitman   (2004-08-20 14:50:00) [3]


> Карелин Артем ©   (20.08.04 14:07) [23]


все равно - под подозрением ..

нельзя ли как-то гарантированно исключить вызов ЛЮБЫХ UDF на время эксперимента по поиску источника проблемы ?


Карелин Артем   (2004-08-20 14:13:00) [4]

т.е. которые в ib_udf.sql и fbudf.sql прописаны.


Карелин Артем   (2004-08-20 14:07:00) [5]

Digitman ©   (20.08.04 14:00) [22]
Только стандартные.


Digitman   (2004-08-20 14:00:00) [6]


> Карелин Артем


UDF используется в базе ?


Карелин Артем   (2004-08-20 13:20:00) [7]

В таком случае должен быть deadlock. А вот логи того, что было в реальности:

A (Client) Fri Jul 30 06:38:46 2004
Guardian starting: L:\Program Files\Firebird\bin\fbserver.exe

A (Client) Fri Jul 30 12:31:30 2004
INET/inet_error: read errno = 10054

A (Client) Fri Jul 30 12:31:30 2004
INET/inet_error: send errno = 10054

A (Client) Fri Jul 30 12:31:30 2004
INET/inet_error: send errno = 10054

A (Client) Fri Jul 30 12:31:30 2004
INET/inet_error: send errno = 10054

A (Client) Fri Jul 30 12:31:30 2004
L:\Program Files\Firebird\bin\fbserver.exe: terminated abnormally (3221225477)

A (Client) Fri Jul 30 12:31:31 2004
Guardian starting: L:\Program Files\Firebird\bin\fbserver.exe


}{ander   (2004-08-19 17:29:00) [8]

Несмотря на то, что вопрос закрыт, хотелось бы высказать еще одну маленькую реплика по поводу
This normally results from a loss of the connection on the remote socket due to a timeout or a reboot.
Только что проверил:
1. Создаем приложение с транзакцией Read Commited (read_committed|rec_version|nowait). В нем открываем датасет, меняем одно поле, делаем пост, на не делаем каммит транзакции оставляем приложение работать.
2. Создаем второе приложение – точно такое же, но в нем для транзакции устанавливаем режим Read-Only Table Stability (read|consistency). Делать оно должно то же самое, что и первое. Но!
3. При попытке второго приложения соединиться с сервером ничего не получается. Соединение происходит только тогда, когда первое приложение сделает каммит или роллбэк.

К чему я это все: возможно, у тебя происходит то же самое: из-за неправильно установленного уровня изоляции транзакций один из потоков просто не может законнектиться к базе. Он какое-то время ждет, а потом выдает эту самую ошибку о том, что превышено время ожидания.


Карелин Артем   (2004-08-19 14:42:00) [9]

Digitman ©   (19.08.04 14:41) [18]
Точку надо ставить...
Всем отвечавшим без исключения спасибо, вопрос закрыт.


Digitman   (2004-08-19 14:41:00) [10]


> Карелин Артем ©   (19.08.04 14:34) [17]


> Трудно с тобой


сожалею


> Что подставить в строку коннекта на место LanManagerServerName
> если имя компа заранее неизвестно, но база с программой
> лежат на одном компе


имя данного компа


Карелин Артем   (2004-08-19 14:34:00) [11]

Digitman ©   (19.08.04 14:24) [16]
Трудно с тобой...
Что подставить в строку коннекта на место LanManagerServerName если имя компа заранее неизвестно, но база с программой лежат на одном компе.


Digitman   (2004-08-19 14:24:00) [12]


> Карелин Артем ©   (19.08.04 13:23) [7]
> И как назвается аналог localhost в NamedPipe?


никак

NamedPipe-механика использует имена компов в соответствии с LanManager-механикой идентификации узлов, которая пересекается с DNS-механикой лишь на уровне WINS


Карелин Артем   (2004-08-19 14:02:00) [13]

Полд рукой нет лога, но точно помню что именно сетевая виндовая ошибка.


-SeM-   (2004-08-19 13:59:00) [14]

Карелин Артем ©   (19.08.04 13:44) [13]

Это чья ошибка (WSAECONNRESET - Error 10054) WinSock2? Он разве пишет в firebird.log?
У firebirdа есть свой код: 421 - connection lost to database


Карелин Артем   (2004-08-19 13:44:00) [15]

-SeM-   (19.08.04 13:41) [12]
Есть точно такая же ошибка, но WSAECONNRESET - Error 10054

A connection was forcibly closed by a peer. This normally results from a loss of the connection on the remote socket due to a timeout or a reboot.


-SeM-   (2004-08-19 13:41:00) [16]

Открываю firebird.msg
Ошибка № 10054 - conversion error :)


Карелин Артем   (2004-08-19 13:31:00) [17]

-SeM-   (19.08.04 13:28) [10]
Многопоточный доступ к базе надо. А через localhost:c:\1.fdbпочему-то рвется часто соединение и сервер перезагружается. В логах FB идет ошибка 10054.


-SeM-   (2004-08-19 13:28:00) [18]

Поддержка NetBEUI протокола. Сетевухи нет, модема нет. Начнем с начала?
Зачем для локального подключения к базе использовать сетевые протоколы?


}{ander   (2004-08-19 13:28:00) [19]


> Карелин Артем ©   (19.08.04 13:10) [3]
> Как будет выглядеть строка подключения в случае, если база
> лежит на 'c:\1.fdb' и мы к ней ломимся через NamedPipe.


На счет NamedPipe не совсем уверен, но что мешает попробовать в строке коннекта localhost:c:\1.fdb


}{ander   (2004-08-19 13:26:00) [20]


> Что должно стоять/быть разрешено в винде в таком случае?
>

WinSock2 (естественно, нужно установить и клиента IB?FB)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо