Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Вниз

Firebird, проблема с коннектом   Найти похожие ветки 

 
Handbrake   (2008-11-27 16:13) [0]

Уважаемые Мастера!

Firebird 2.0, выполняется сервисом

firebird.conf:...
# ----------------------------
# Database Paths/Directories
#
 DatabaseAccess = none
...

aliases.conf:

#
# List of known database aliases
# ------------------------------
#
# Examples:
#
#  
 dummy = C:\FBDB0\my02.fdb
 ConvDB = C:\FBDB0\convention.fdb

В приложении использую IBDatabase.
На Сервере подключение к БД через имя алиаса проходит, на Клиенте - нет ( unavailable database. ).
Чего я делаю не так, Чего не докрутил ?


 
qqq   (2008-11-27 16:20) [1]

на клиенте не по алиасу получается?


 
Handbrake   (2008-11-27 16:33) [2]


> qqq   (27.11.08 16:20) [1]
> на клиенте не по алиасу получается?


Проверил, сейчас не получается, но недавно, когда разбирался с клиентским коннектом (я новичок в Firebird) кажется проходило. При этом в firebird.conf было:

...
# ----------------------------
# Database Paths/Directories
#
DatabaseAccess = full
...


 
Handbrake   (2008-11-28 10:21) [3]

Чего то я сбит с толку:(

на сервере в firebird.conf:
...
DatabaseAccess=None
...

на самом сервере не могу соединиться ни по абсолютному имени, ни по алиасу (Access to database ... is denied by server administrator).

Ладно, теперь делаем исправление

на сервере в firebird.conf:
...
# DatabaseAccess=None
...

и перезапускаем сервис FirebirdServer. Теперь и по абсолютному имени файла БД и по алиасу соединение на сервере проходит успешно. На клиенте не коннектится ни так ни эдак.

Я специально выделил знак #. В начале firebird.conf сказано, что все что стоит после # является комментарием...

Как такое понимать?


 
Виталий Панасенко   (2008-11-28 11:28) [4]

А брандмауэр выключен? или хотя бы порт 3050 открыт на клиенте?


 
Handbrake   (2008-11-28 12:29) [5]

Коллеги! Извините, водил Вас "за нос". Прошу не очень больно бить ногами:


> А брандмауэр выключен? или хотя бы порт 3050 открыт на клиенте?


Теперь работает и при включенном Брандмауэре, порт правда открыт.

У меня в тест-программе строки:


 IBDatabase1.Connected := false;
 IBDatabase1.DatabaseName := Edit1.Text;
 IBDatabase1.Connected := true;


В Edit1 ввел "Dummy"
когда на сервере запускаешь эту программку все нормально.

Но на клиенте-то нужно указывать еще и путь по локальной сети до машины, где расположена БД, т.е, например "MyCompAsFBServer.OurCommunity.local:Dummy". Блин, даже мысли не пришло такой! Короче, Я Не Прав:)

Теперь возникла мысль, а нельзя ли в aliases.conf на клиенте указать алиас так:

dummy = MyCompAsFBServer.OurCommunity.local:Dummy:C:\FBDB0\my02.fdb
чтобы при коннекте указывать только Dummy ?
Не получилось, хотя я не очень понял почему. Может поясните?

Спасибо Всем за участие.


 
Виталий Панасенко   (2008-11-28 12:33) [6]

конечно, нельзя


 
PEAKTOP ©   (2008-11-28 12:35) [7]

Во-первых, укажите вариант сервера (SuperServer, ClassicServer, SuperClassicServer).
Во-вторых, неплохо бы указать версию билда (например, 2.0.5.13200)
------------------------
Если у тебя приложение не коннектиться к серверу по сети ни так, ни эдак, то проблема не в сервере, а в сети.
1) Брандмауэр виндов. Либо настроить нормально, либо отключить совсем.
2) Никаких динамических IP в локальной сети. Прописать в настройках IP статично.
3) Строка подключения в виде "192.168.0.1:MyDataBaseAlias"
4) Надеюсь, не надо напоминать, что имена алиасов из aliases.conf РеГиСтРоЗаВиСиМыЕ.
После этого попытайся воспроизвести снова.
-------------------
Мне мой хрустальный шар подсказывает, что еще дело здесь может быть в манифесте. Найди файлы в папке ($firebird)/bin
Microsoft.VC80.CRT.manifest
msvcp80.dll
msvcr80.dll
и скопируй их в папки ($firebird)/intl и ($firebird)/udf


 
Handbrake   (2008-11-28 12:46) [8]

To PEAKTOP ©   (28.11.08 12:35) [7]
 
 Обошлось, как видите, без "хрустального шара" :). Ваше № 3

To Виталий Панасенко   (28.11.08 12:33) [6]
>     конечно, нельзя


даже Ваше убедительное "конечно" не проясняет мне ситуацию...


 
Правильный$Вася   (2008-11-28 14:05) [9]


> даже Ваше убедительное "конечно" не проясняет мне ситуацию.

нельзя потому, что клиент не знает, где именно он должен разжиться алиасом
вот когда указываешь имя сервера, он уже там и проверяет наличие алиаса
а так серверов в сети - вон, полный интернет
все перебирать будешь?


 
Handbrake   (2008-11-28 14:28) [10]

To Правильный$Вася   (28.11.08 14:05) [9]

Понятно, просто я мыслил по аналогии c Oracle(не работал с этой СУБД как программист, сопровождал маленько). Там вроде такой файлик есть tnsnames.ora,
В первом приближении, что-то типа:

NSNORA =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = MyCompAsFBServer.OurCommunity.local)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = ora10mr)
   )
 )

Его просто берешь с сервера и ставишь на клиент.
Т.е. при коннекте указываю User, Password, NSNORA. Достаточно удобно. Я думал в Firebird похоже.


 
Handbrake   (2008-11-28 14:33) [11]

Кстати, ошибочка в [5]
хотел написать не

dummy = MyCompAsFBServer.OurCommunity.local:Dummy:C:\FBDB0\my02.fdb,

а

dummy = MyCompAsFBServer.OurCommunity.local:C:\FBDB0\my02.fdb


 
Виталий Панасенко   (2008-11-28 14:56) [12]


> Его просто берешь с сервера и ставишь на клиент.

вот именно



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

Форум: "Базы";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
11-1206025013
andreil
2008-03-20 17:56
2009.10.11
Stream2Stream на АСМе?


9-1182687870
ElectriC
2007-06-24 16:24
2009.10.11
Shadow Map


15-1249482003
cwl
2009-08-05 18:20
2009.10.11
в честь чего


15-1250089672
Дмитрий С
2009-08-12 19:07
2009.10.11
Как подключить сетевой принтер на 64х битной висте.


15-1249934148
syteser78
2009-08-10 23:55
2009.10.11
У кого нибуть из вас воровали почтовый ящик?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский