Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

Доступ по к базе IB c использованием NamedPipe   Найти похожие ветки 

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

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


 
Соловьев ©   (2004-08-19 13:05) [1]


> Как указать что база лежит на том же компе, что и программа?
> Что должно стоять на компе для поддержки такого доступа
> к базе.

в настройках проги.
клиент. Как минимум fbclient.dll


 
Digitman ©   (2004-08-19 13:06) [2]


> что и программа


какая программа ?!


 
Карелин Артем ©   (2004-08-19 13:10) [3]

Будем считать что FB установлен и локальный коннект есть.
Как будет выглядеть строка подключения в случае, если база лежит на "c:\1.fdb" и мы к ней ломимся через NamedPipe.
Что должно стоять/быть разрешено в винде в таком случае? К примеру чтобы ломиться к базе по TCP/IP в Win"9x надо иметь поддержку этого самого, потому как если нет модема или сетевухи его нету.


 
Карелин Артем ©   (2004-08-19 13:11) [4]

Digitman ©   (19.08.04 13:06) [2]
Которая обращается к базе.


 
Digitman ©   (2004-08-19 13:19) [5]


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


"\\LanManagerServerName\c:\1.fdb"


 
Карелин Артем ©   (2004-08-19 13:21) [6]

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


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

И как назвается аналог localhost в NamedPipe?


 
}{ander ©   (2004-08-19 13:26) [8]


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

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


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


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


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


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

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


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

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


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

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


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

-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:59) [14]

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

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


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

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


 
Digitman ©   (2004-08-19 14:24) [16]


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


никак

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


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

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


 
Digitman ©   (2004-08-19 14:41) [18]


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


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


сожалею


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


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


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

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


 
}{ander ©   (2004-08-19 17:29) [20]

Несмотря на то, что вопрос закрыт, хотелось бы высказать еще одну маленькую реплика по поводу
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-20 13:20) [21]

В таком случае должен быть 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


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


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


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


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

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


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

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


 
Digitman ©   (2004-08-20 14:50) [25]


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


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

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


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

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


 
Digitman ©   (2004-08-20 15:49) [27]


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



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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.05 c
14-1093589496
saNat
2004-08-27 10:51
2004.09.19
Electronics Workbench


14-1093638335
Yanis
2004-08-28 00:25
2004.09.19
Euphoria


14-1093688385
able
2004-08-28 14:19
2004.09.19
Как сделать два монитора независимыми друг от друга?


3-1092844481
Aleksandr.
2004-08-18 19:54
2004.09.19
Объясните мне работу АДО-соединений, а то там фигня какая-то...


6-1089374509
Анонимщик
2004-07-09 16:01
2004.09.19
TServerSocket, TClientSocket непонятная потеря коннекта