Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
ВнизСоединение с InterBase с раб.места происходит 100 сек при пустой Найти похожие ветки
← →
duke2 (2003-09-18 07:31) [0]Уважаемые мастера !
Сервер Celeron-1700, 256 Мб, клиент P-166MMX, 48Mb, сеть -витая пара 10 Мбит,
больше никого в сети нет ! Вирусов нет. InterBase 6.0.1.0
С клиентского рабочего места само соединение с БД происходит 100 сек., после чего все работает нормально.
Процедура соединения:
IBDataBase1.Params.Clear;
IBDataBase1.Params.Add("USER_NAME=SYSDBA");
IBDataBase1.Params.Add("PASSWORD=masterkey");
IBDataBase1.Params.Add("lc_ctype=WIN1251");
IBDataBase1.Connected:=true; //Вот на этом шаге - 100 сек. !!!
IBTable1.Active:=true;
Если от БД отцепиться с рабочего места - IBDataBase1.Connected:=false, а затем снова подцепиться - IBDataBase1.Connected:= true, в одном сеансе работы программы - соединение происходит быстро. Но первоначальное подключение - 100 сек.
Скажите, первоначальное подключение на таком оборудовании и должно быть таким долгим, или можно что-то убыстрить ?
На форме 3 элемента - IBDataBase1, IBTransaction1, IBTable1. В БД - одна таблица, в таблице -5 записей.
← →
Жук (2003-09-18 08:47) [1]Как выглядит строка подключения к БД ?
← →
duke2 (2003-09-18 09:02) [2]В каком смысле ? Подключение происходит только из исходного текста -
IBDataBase1.Params.Clear;
IBDataBase1.Params.Add("USER_NAME=SYSDBA");
IBDataBase1.Params.Add("PASSWORD=masterkey");
IBDataBase1.Params.Add("lc_ctype=WIN1251");
IBDataBase1.Connected:=true;
IBTable1.Active:=true;
← →
Reindeer Moss Eater (2003-09-18 09:04) [3]параметр "SERVER NAME" какой?
← →
duke2 (2003-09-18 09:08) [4]Сервер - удаленный (Remote), протокол TCP, других протоколов в сети нет.
SERVER NAME в параметрах IBDataBase1 не указан.
А что, надо указывать ? Какой ?
← →
Reindeer Moss Eater (2003-09-18 09:10) [5]А что, надо указывать ? Какой ?
Какой?! С которым работать хочешь.
← →
Zacho (2003-09-18 09:13) [6]
> duke2 (18.09.03 09:08) [4]
> протокол TCP, других протоколов
> в сети нет
Не факт. Если сервер - NT, то все равно есть NetBEUI
> SERVER NAME в параметрах IBDataBase1 не указан.
> А что, надо указывать ? Какой ?
???
И как же он тогда вообще может подключаться ? Неизвестно к чему ?
P.S. Скорее всего, проблема связана с DNS.
← →
duke2 (2003-09-18 09:22) [7]Наверное я плохо объяснил.
Конечно, имя сревера - то бишь имя компьютера с InterBase Server указано в свойствах IBDataBase1 (там же указан протокол)
Я имею в виду что ничего похожего
IBDataBase1.Params.Add("SERVER_NAME=KOMPUTER");
в параметрах соединения не указывал, так как не бывает параметра "SERVER_NAME
NT у меня нету. И с удаленного компбютера с базой соединение просходит, тольео на строке
IBDataBase1.Connected:=true;
происходит очень медленно при первом подключении!
← →
Reindeer Moss Eater (2003-09-18 09:24) [8]Specifies the name of the database to associate with this database component.
Delphi syntax:
property DatabaseName: String;
C++ syntax:
__property AnsiString DatabaseName = {read=FDBName, write=SetDatabaseName};
Description
Use DatabaseName to specify the name of the database to use with a database component. For local InterBase databases, this can be a filename.
To connect to an InterBase database on a remote server using TCP/IP the syntax is <server_name>:<filename>.
To connect to an InterBase database on a remote server using NetBEUI, the syntax is: \\<server_name>\<filename>.
To connect to an InterBase database on a remote server using SPX, the syntax is: <server_name>@<filename>.
← →
Reindeer Moss Eater (2003-09-18 09:25) [9]Я имею в виду что ничего похожего
IBDataBase1.Params.Add("SERVER_NAME=KOMPUTER");
в параметрах соединения не указывал,
А чего тогда хочешь?
← →
Ilya (2003-09-18 09:27) [10]Попробуй указать статический IP- адрес
← →
Zacho (2003-09-18 09:30) [11]
> duke2 (18.09.03 09:22) [7]
Ну так все-же приведи строку подключения ! Т.е. св-во DatabaseName.
Наиболее вероятная причина торможения - именно в DNS, например у тебя в настройках протокола указано несколько DNS серверов, и/или DNS сервер, находящийся где-нибудь в Штатах..
Попробуй сделать ping <имя_сервера> - если будет такое же торможение при определении IP-адреса - дело точно в DNS.
← →
duke2 (2003-09-18 09:31) [12]DataBaseName - указан, и соединение происходит нормально.
С сервера - мгновенно. С рабочего места - тоже соединятся, но ждет при этом 100 сек. А дальше работает нормально. И пересоединяется с рабочего места В ОДНОМ сеансе работы программы - тожен почти мгновенно !
Вопрос - Должно ли соединение с БД с раб.места на сети 10 Мбит при почти пустой БД происходить так долго ?
← →
Reindeer Moss Eater (2003-09-18 09:33) [13]Ответ - не должно!
← →
Johnmen (2003-09-18 09:33) [14]Указанное явление связано с неуказанием адреса сервера в hosts. Как верно заметил Ilya (18.09.03 09:27).
← →
Reindeer Moss Eater (2003-09-18 09:35) [15]Не обязательно.
← →
duke2 (2003-09-18 09:35) [16]IP адрес и сервера и клиента - статический. Пингуется нормально.
DatabaseName=K1:D:\PRIMER\PRIMER.GDB
Имя сервера - K1
← →
Johnmen (2003-09-18 09:39) [17]>Reindeer Moss Eater ©
Еще варианты, пожалуйста.
← →
Asgard (2003-09-18 09:40) [18]
> Вопрос - Должно ли соединение с БД с раб.места на сети
> 10 Мбит при почти пустой БД происходить так долго ?
Ответ отрицательный.
Свойство DatabaseName у тебя, например, равно "myserver:C:\MyProg\mybase.gdb"
Попробуй вместо myserver указать его ip-адрес, т.е.
"192.168.1.1:C:\MyProg\mybase.gdb".
Если будет подключаться быстро, значит, проблемы с обозревателем компьютеров в сети. Надо лечить. Или лучше поставить на "сервер" Win 2000 Server в качестве операционной системы, сделать домен и т.д.
← →
Asgard (2003-09-18 09:40) [19]
> Вопрос - Должно ли соединение с БД с раб.места на сети
> 10 Мбит при почти пустой БД происходить так долго ?
Ответ отрицательный.
Свойство DatabaseName у тебя, например, равно "myserver:C:\MyProg\mybase.gdb"
Попробуй вместо myserver указать его ip-адрес, т.е.
"192.168.1.1:C:\MyProg\mybase.gdb".
Если будет подключаться быстро, значит, проблемы с обозревателем компьютеров в сети. Надо лечить. Или лучше поставить на "сервер" Win 2000 Server в качестве операционной системы, сделать домен и т.д.
← →
Zacho (2003-09-18 09:41) [20]
> duke2 (18.09.03 09:35) [16]
> DatabaseName=K1:D:\PRIMER\PRIMER.GDB
> Имя сервера - K1
Т.е. ping K1 не тормозит ? А если воспользоваться советом Ilya (18.09.03 09:27) [10] (т.е. в строке подключения указывать не имя сервера, а ip-адрес) то торможение исчезает или нет ? Если да, то явно какая-то кривизна с DNS.
> Johnmen © (18.09.03 09:33) [14]
Ну у меня, например, файла hosts вообще нет, и торможений никаких нет :-)
← →
Asgard (2003-09-18 09:42) [21]Упс. Дрогнула рука на мыше...
← →
Reindeer Moss Eater (2003-09-18 09:43) [22]Johnmen ©
В факе на ibase.ru описан случай связанный с системой востановления файлов на ME и XP. Файлы *.gdb зарегистрированы в этой системе по умолчанию
← →
stud (2003-09-18 09:43) [23]вместо К1 лучше указать IP адрес
← →
Johnmen (2003-09-18 09:44) [24]>Zacho © (18.09.03 09:41)
У меня тоже. Но я говорил про/для автора. :)
← →
duke2 (2003-09-18 09:44) [25]Думаю, если бы дело было в DNS, то КАЖДОЕ соединение происходило бы долго, а не только ПЕРВОЕ В СЕАНСЕ РАБОТЫ ПРОГРАММЫ.
Кстати сама программа запускается мгновенно, процедкра соединения вынесена в кнопку:
IBDataBase1.Params.Clear;
IBDataBase1.Params.Add("USER_NAME=SYSDBA");
IBDataBase1.Params.Add("PASSWORD=masterkey");
IBDataBase1.Params.Add("lc_ctype=WIN1251");
IBDataBase1.Connected:=true;
IBTable1.Active:=true;
Windows - свежий, две недели как стоит, работает нормально (даже 1C! )
Может быть InterBase - у не неравиться то что на клиентском месте - Windows-95(OSR-2). НЕ МОЖЕТ БЫТЬ !!
← →
Johnmen (2003-09-18 09:46) [26]>Reindeer Moss Eater © (18.09.03 09:43)
Не понял...Это может приводить к торможению ?
← →
Reindeer Moss Eater (2003-09-18 09:48) [27]Johnmen ©
Может. Система при этом копирует файл в резервный каталог перед тем как его модифицировать.
← →
Zacho (2003-09-18 09:49) [28]
> duke2 (18.09.03 09:44) [25]
Ну попробуй все-же подключится не по имени, а по адресу. И какая операционка на сервере ? См. Reindeer Moss Eater © (18.09.03 09:43) [22]
> Может быть InterBase - у не неравиться то что на клиентском
> месте - Windows-95(OSR-2).
Не может.
← →
Johnmen (2003-09-18 09:52) [29]>Reindeer Moss Eater ©
Ну не на 100 секунд же тормозить !!! Тем более, что у автора W95.
← →
Reindeer Moss Eater (2003-09-18 09:52) [30]У него W95 на клиенте
← →
Alexandr (2003-09-18 09:53) [31]приведите ОС на сервере и на клиенте, конфигурацию сети.
(домен, одноранговая, DNS, DHCP)
и что именно долго происходит:
- певый коннект к базе вообще
- или первый коннект к базе с одного компьютера
- или первый коннект к базе из одной программы.
← →
Michael17 (2003-09-18 09:55) [32]Ну попробуй все-же подключится не по имени, а по IP-адресу.
Очень все просим.
И еще надо выгрузить всякие антивирусы на сервере, если есть запущенные.
← →
Alexandr (2003-09-18 10:06) [33]давайте его все хором попросим!
← →
duke2 (2003-09-18 10:19) [34]Извините что долго молчал - пришлось снести Интернет и поставить его заново, чтобы проверить версию про DNS, проверял соединение на другой машине.
Сервер - Win98SE, клиент-Win95OSR2, сеть одноранговая, протокол - только IP с явным указанием адресов 1.1.1.1 и 1.1.1.2, DNS, доменов, DHSP - нет, в сети 2 машины.
100 сек происходит Первый коннект к базе из одной программы. Второй коннект из одной программы - мгновенно.
Попробывал подключиться по IP-адресу:
1.1.1.1:D:\PRIMER\PRIMER.GDB
С сервера соединяется нормально.
При соединении у клиента говорит:
Unablr to complete network rekwest to host "1.1.1.1"
Falied to locate host mashine
хотя K1:D:\PRIMER\PRIMER.GDB - соединяется !
Сеть пингуется нормально.
Значит действительно DNS !, Но в такой простейшей сети где я мог ошибиться и ввести InterBase в такой тупик ??
← →
duke2 (2003-09-18 10:20) [35]Забыл добавить, что антивирусов и прочего мусора ни на сервере ни на клиенте не загружено !
← →
VICTOR_ (2003-09-18 10:22) [36]Попробуй на клиентской машине найти ключ в реестре, удалить его и перезагрузить компьютер
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\
NameSpace\{D6277990-4C6A-11CF-8D87-00AA0060F5BF}]
← →
Reindeer Moss Eater (2003-09-18 10:25) [37]Сети у тебя интересная очень.
Для локальных приватных сетей диапазон адресов выбран очень интересный.
← →
Zacho (2003-09-18 10:25) [38]
> duke2 (18.09.03 10:19) [34]
> только IP с явным указанием адресов 1.1.1.1 и 1.1.1.2
Не стоит такие адреса назначать, ох не стоит. Измени на 192.168.1.1 и т.д.
> При соединении у клиента говорит:
> Unablr to complete network rekwest to host "1.1.1.1"
> Falied to locate host mashine
Слишком старая версия winsock на клиенте, обнови.
И еще: имя сервера (K1) в hosts прописано ?
← →
VICTOR_ (2003-09-18 10:37) [39]Поставь маску подсети 255.255.255.0
IP адреса
192.168.0.1
192.168.0.2
Поудаляй все протоколы, если они тебе не нужны, кроме TCP IP
← →
Alexandr (2003-09-18 10:48) [40]да... тогда hosts надо создать и отредактировать
пример hosts.sam
по IP не проходит из-за win95
а чего такие древние ОС?
На сервере надо по крайней мере winNT4 ws
communicationDiagnostics в interbase прольет свет на решение проблемы.
← →
duke2 (2003-09-18 10:52) [41]Спасибо всем ! Все получилось !
Дело было не в DNS, IP-адресах (1.1.1.1 - вполне катит)
а в хостах !!
Прописал в hosts 1.1.1.1 K1 - сразу стал соединяться мгновенно !!!
Я вообще-то думал что это только для IB-5 нужно прописывать.
Кстати, соединение типа
192.168.1.1:D:\PRIMER\PRIMER.GDB так и не работает, хотя адрес 192.168.1.1 - пингуется нормально...
Еще раз спасибо всем !
← →
Alexandr (2003-09-18 11:04) [42]в hosts в твоей ситуации всегда полезно писать эту строчку.
соединение 192.168.1.1:D:\PRIMER\PRIMER.GDB так и не работает
потому что win95
← →
alex (2003-09-18 13:33) [43]Была похожая проблема - на клиенте в настройках TCPIP не был указан или указан, но неправильно, шлюз по умолчанию. Как только прописали - все заработало на-ура.
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.01 c