Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];
ВнизУдаленное подключение к базе Найти похожие ветки
← →
Tneduts © (2009-07-17 13:17) [0]Доброго времени суток.
Ситуация:
Есть выделенный сервер;
База лежит отдельно от сервера, т.е. на другом компьютере;
Есть приложение, которое так же удалено, т.е. на "третьем" компьютере;
Когда я пытаюсь подключится
DB_Path := "192.168.0.123: D:\Database\ib56tkdb.gdb";
Database.DatabaseName := DB_Path;
то базу оно не находит.
Локально отрабатывает нормально.
Вопрос:
Как решается подобная проблема?
← →
Виталий Панасенко(дом) (2009-07-17 13:24) [1]строку подключения просто правильно укажи...
← →
Tneduts © (2009-07-17 13:32) [2]
> Виталий Панасенко(дом) (17.07.09 13:24) [1]
Я попробовал разные вариации:
\\192.168.0.123\Database\ib56tkdb.gdb
//192.168.0.123/D:\Database\ib56tkdb.gdb
> строку подключения просто правильно укажи...
Правильно это ...
← →
Anatoly Podgoretsky © (2009-07-17 14:19) [3]
> Есть выделенный сервер;
> База лежит отдельно от сервера, т.е. на другом компьютере;
>
Разве такое возможно?
Да еще при указании ее местонахождения на локальном диске сервера.
← →
Tneduts © (2009-07-17 15:06) [4]
> Разве такое возможно?
Вот и мне интересно.
Попытки пока без результата...
← →
Игорь Шевченко © (2009-07-17 15:10) [5]
> База лежит отдельно от сервера, т.е. на другом компьютере;
а на "другом компьютере", где база, там сервер Interbase есть ?
← →
Tneduts © (2009-07-17 15:25) [6]
> Виталий Панасенко(дом) (17.07.09 13:24) [1]
>
> строку подключения просто правильно укажи...
InterBase Server Manager ничего против подобной записи не имеет! (проверил)
← →
Tneduts © (2009-07-17 15:27) [7]
> Игорь Шевченко © (17.07.09 15:10) [5]
Нет, но можно установить.
И как я понимаю другого пути нет.
← →
Tneduts © (2009-07-17 15:36) [8]
> Игорь Шевченко © (17.07.09 15:10) [5]
Я попробовал подключится своим приложением с другой машины на ту где и база и сервер. Ресурс, где размещена база, полностью расшарен.
Путь прописан
DB_Path := "192.168.0.123: D:\Database\ib56tkdb.gdb";
И всё равно не находит базу.
Хотя InterBase Server Manager при локальном сервере и пути к базе(удалённом)
192.168.0.123: D:\Database\ib56tkdb.gdb
подключается нормально
← →
Сергей М. © (2009-07-17 16:08) [9]
> Tneduts
IB-сервер не работает с удаленными базами, он работает только с локальными файлами своих баз, т.е. с теми файлами которые расположены на локальны томах.
← →
Сергей М. © (2009-07-17 16:11) [10]
> Tneduts
Соответственно строка подключения должна содержать путь к локальному файлу на одном из томов того компьютера, где крутится сервер, к которому ты подключаешься (хоть удаленно хоть локально)
← →
Виталий Панасенко(дом) (2009-07-17 16:16) [11]это вообще нафиг не нужно...
> Tneduts © (17.07.09 15:36) [8]
>
>
> > Игорь Шевченко © (17.07.09 15:10) [5]
>
> Я попробовал подключится своим приложением с другой машины
> на ту где и база и сервер. Ресурс, где размещена база, полностью
> расшарен.
опять с нулевыми познаниями что-то пытаемся методом научного тыка решить.. или со справочника "стеля"
← →
Tneduts © (2009-07-17 16:19) [12]
> Сергей М. © (17.07.09 16:11) [9]
В теории должно работать:
Теоретически файл БД можно положить на другой компьютер, если организовать том Networking File System (чаще встречается на unix). Однако это может привести к нестабильной работе и безусловной порче данных в случае обрыва соединения между компьютером с БД и компьютером с IB/FB/YA. Кроме того, при связи например в 100 мегабит сервер будет очень медленно работать с БД (сравните скорость обмена данными по сети со скоростью доступа к IDE HDD). http://www.ibase.ru/ibfaq.htm#noconnect
Но суха теория...
> Сергей М. © (17.07.09 16:11) [10]
> Tneduts © (17.07.09 15:36) [8]
>
>
> > Игорь Шевченко © (17.07.09 15:10) [5]
>
> Я попробовал подключится своим приложением с другой машины
> на ту где и база и сервер. Ресурс, где размещена база, полностью
> расшарен.
> Путь прописан
> DB_Path := "192.168.0.123: D:\Database\ib56tkdb.gdb";
> И всё равно не находит базу.
Для уточнения
Server=192.168.0.123
Но база не находится.
← →
Игорь Шевченко © (2009-07-17 16:24) [13]читать [9]
← →
Tneduts © (2009-07-17 16:27) [14]
> Виталий Панасенко(дом) (17.07.09 16:16) [11]
Вы несколько противоречите себе...То почитай книги, то "или со справочника "стеля"".
Я вас абсолютно не понимаю...
Я пытаюсь разобраться и если вы хотите помочь, то пожалуйста.
Нет -
> опять с нулевыми познаниями что-то пытаемся методом научного
> тыка решить.. или со справочника "стеля"
- НЕ НУЖНО КАТАТЬ ВАТУ!
← →
Виталий Панасенко(дом) (2009-07-17 16:31) [15]
> Tneduts © (17.07.09 16:27) [14]
вот именно, не катай.. данный вопрос тут уже пережеван...см.www.ibase.ru, там на такие "тяжеленные"
> Я пытаюсь разобраться и если вы хотите помочь, то пожалуйста.
вопросы все давно расписано... как раз, чтобы не толочь воду в ступе... или не катать вату.. :-)
← →
Tneduts © (2009-07-17 16:31) [16]
> Игорь Шевченко © (17.07.09 16:24) [13]
Я вас понял и читал про это в деталях.
Именно эту часть вопроса считаем закрытой. Спасибо.
Я сейчас пытаюсь выяснить:
Реально ли, что приложение на одном(рассмотрим вариант когда на нём нет IB-сервера) компьютере, а база и сервер на другом.
Можно ли подключиться подобным образом к базе, если да, то как?
← →
Виталий Панасенко(дом) (2009-07-17 16:32) [17]
> Tneduts © (17.07.09 16:31) [16]
этот вопрос взагали цикавый... на кой тогда придумали клиент-сервер?!
← →
Tneduts © (2009-07-17 16:34) [18]
> Виталий Панасенко(дом) (17.07.09 16:31) [15]
Да я ознакомился, правда после создания темы.
Теперь вопрос переформулирован
> Tneduts © (17.07.09 16:31) [16]
← →
Tneduts © (2009-07-17 16:34) [19]
> Виталий Панасенко(дом) (17.07.09 16:32) [17]
Вы издеваетесь?)))
← →
Виталий Панасенко(дом) (2009-07-17 16:35) [20]
> Tneduts © (17.07.09 16:34) [18]
>
>
и где там вопрос?
← →
Игорь Шевченко © (2009-07-17 16:35) [21]
> Реально ли, что приложение на одном(рассмотрим вариант когда
> на нём нет IB-сервера) компьютере, а база и сервер на другом.
>
> Можно ли подключиться подобным образом к базе, если да,
> то как?
да, реально, да можно.
http://www.firebirdsql.org/manual/ru/qsg15-connecting-ru.html (у Interbase 5 синтаксис аналогичный)
← →
Tneduts © (2009-07-17 16:38) [22]
> Игорь Шевченко © (17.07.09 16:35) [21]
И правда умные книжки читал)))
Да, но только у меня приложение ругается.
Не находит базу (((
← →
Виталий Панасенко(дом) (2009-07-17 16:40) [23]а файрвол не установлен случаем?
← →
Игорь Шевченко © (2009-07-17 16:41) [24]
> Да, но только у меня приложение ругается.
какой кошмар!
← →
Сергей М. © (2009-07-17 16:41) [25]
> Tneduts
Ты выполнил условия [9] ? (NFS не рассматриваем - у тебя ее навернака нет)
← →
Tneduts © (2009-07-17 16:46) [26]
> Виталий Панасенко(дом) (17.07.09 16:40) [23]
>
> а файрвол не установлен случаем?
Точно )))
На одной есть, ща попробую без него.
← →
Tneduts © (2009-07-17 16:47) [27]
> Игорь Шевченко © (17.07.09 16:41) [24]
>
>
> > Да, но только у меня приложение ругается.
>
>
> какой кошмар!
Причём жудкий!
← →
Tneduts © (2009-07-17 16:47) [28]
> Сергей М. © (17.07.09 16:41) [25]
>
>
> > Tneduts
>
>
> Ты выполнил условия [9] ? (NFS не рассматриваем - у тебя
> ее навернака нет)
Да.
← →
Сергей М. © (2009-07-17 16:49) [29]
> у меня приложение ругается.
> Не находит базу
Это значит что не выполнил.
И файрвол тут ни причем - он не имеет отношения к поиску сервером указанной тобой базы.
← →
Виталий Панасенко(дом) (2009-07-17 17:28) [30]
> Сергей М. © (17.07.09 16:49) [29]
Это просто автор может так интерпретировать ошибку.. а что в сообщении написано нам не известно...
← →
Tneduts © (2009-07-17 18:15) [31]
> Сергей М. © (17.07.09 16:49) [29]
> Виталий Панасенко(дом) (17.07.09 17:28) [30]
Пардон. Забыл сказать, что я проверку передDatabase.DatabaseName := DB_Path;
сделалIf not FileExists(DB_Path) Then
тут то он и "наламывает"
← →
Игорь Шевченко © (2009-07-17 18:22) [32]
> If not FileExists(DB_Path) Then
ты проверяешь файл на удаленном сервере ? Сильно. А зачем ?
← →
Сергей М. © (2009-07-17 18:27) [33]Удалено модератором
← →
Сергей М. © (2009-07-17 18:35) [34]
> сделал
>
> If not FileExists(DB_Path) Then
Это ты где "сделал", чудо ?)
← →
Tneduts © (2009-07-17 18:37) [35]
> Игорь Шевченко © (17.07.09 18:22) [32]
Честно - не знаю, это я где то вычитал.
Т.е. этого делать не нужно?
← →
Tneduts © (2009-07-17 18:38) [36]
> Сергей М. © (17.07.09 18:35) [34]
ПередDatabase.DatabaseName := DB_Path;
)))
← →
Сергей М. © (2009-07-17 18:44) [37]
> Tneduts © (17.07.09 18:38) [36]
Мда ..
Ты вообще понимаешь разницу между local и remote ?
← →
Расшаренный (2009-07-17 18:47) [38]Tneduts © (17.07.09 15:36) [8]
Я попробовал подключится своим приложением с другой машины на ту где и база и сервер. Ресурс, где размещена база, полностью расшарен.
Что расшарено и почему тогдаDB_Path := "192.168.0.123: D:\Database\ib56tkdb.gdb";
, а неDB_Path := "\\192.168.0.123\Имя_шары\ib56tkdb.gdb";
?
← →
Tneduts © (2009-07-17 18:50) [39]
> Сергей М. © (17.07.09 18:44) [37]
Да
← →
Tneduts © (2009-07-17 18:56) [40]
> Расшаренный (17.07.09 18:47) [38]
Уже ни чего не расшарено.DB_Path := "192.168.0.123:D:\Database\ib56tkdb.gdb";
При использовании TCP/IP строка подключения состоит из двух частей: имя сервера и путь к файлу. Формат строки имеет следующий вид:
Для Windows-серверов:
имя-сервера:буква-диска:\путь-к-файлу\имя-файла-базы-данных
Пример для Windows:
serverxyz:C:\Program Files\Firebird\examples\employee.fdbDB_Path := "\\192.168.0.123\Имя_шары\ib56tkdb.gdb";
А это вообще, по моему, (если я не ошибаюсь) "формат" При использовании NetBEUI
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.09.20;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.005 c