![]() |
|
|
![]()
|
|
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
Сабж.
На моем хосте NM лежит небольшая база Paradox(.db) Нужно получить к ней доступ из программы, так же, как к локальной БД, если возможно, то через Table или еще как. Есть ли способ осуществить это? Не помешало бы узнать как связать 2 таких таблицы, лежащих на разных хостах, по какому либо полю из своей программы. Буду очень благодарен. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Положить таблицу в зашаренную папку - по другому никак, парадокс же не имеет сервера...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
Vit
То есть обратиться к ней как к файлу в Table.DataBaseName:=''; нельзя вообще? Я понимаю что сервера нет. Мне и не надо ничего исполнять. Нужно заюзать вместо локального адреса глобальный. Это невозможно? Просто идея продукта такова: программа ведет учет помещений риэлторской фирмы. Уже имеющийся фонд помещений забит в базу, которая валяется на хосте. Сотрудники при добавлении помещений в базу могут сохранять результат как в личной базе на рабочей станции, так и в базу на сервере. База на сервере доступна всем работникам в любой момент, в то время, как свои базы они юзают когда надо и решают стоит ли их добавлять в общую. Если такую весчь нельзя реализовать с таблицами Paradox, то посоветуй плиз, что надо использовать для этого. InterBase покатит? |
|||
|
||||
| Sleepy_PIP |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 512 Регистрация: 30.6.2004 Где: Moscow Репутация: 1 Всего: 12 |
парадокс - обычный структурированный доступ к _файлу_. точка. если ф. не виден - то и работать ты с ним не сможешь, если не напишешь собственный сервер. но это маразм. IB/FB/YA - отлично тебе поможет. Только там уже TTable лучше забыть пожалуста! -------------------- -- Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем свободным ..." |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Решение 1. Самое плохое
Положить таблицы на зашаренную папку где бы они были видны отовсюду. Решение 2. Оставить Парадокс, но написать свой сервер. Уже лучше, но очень трудоёмко и требует недюжих знаний и опыта. Реализуется как свой сервер который собственно и коннектится к парадоксу, клиент же посылает запрос серверу и получает ответ от сервера Решение 3. Заменить парадокс на сервер. Решение подходит для небольших корпоративных сетей, с умеренным (до 10000) количеством клиентов. Если тебе подходил парадокс, значит подойдёт любой сервер, выбирай что хочешь. Относительно Дельфи легче всего работать с IB и MS SQL Server Решение 4. Скрестить решение 2 и решение 3. Применяется если сервак стоит удалённо на интернете или имеется корпоративная сеть с довольно значительным количеством подключений. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Jey_k |
|
||||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
На локальной машине? Не пойдет.
То есть нужно будет просто разместить интербэйсовскую таблицу на хост и коннектиться к ней из проги. Так? Немного детализирую условия. Пользователей не больше 100-150. Они должны иметь возможность просматривать оперативную информацию из базы, редактировать и добавлять новые записи. В таблице инфа об офисах и торговых помещениях, их площади, стоимость, занятость и пр. Другими словами менеджеры и торговые представители при поступлении новых спросов/предложений недвижимости имеют возможность глянуть наличие и стоимость требуемого помещения заказчиком или добавить туда поступившие предложения о сдаче недвижимости. Цель проекта-оперативное согласование работы отделов не только в офисе, но и на выезде с ноута там или КПК. Мне эта вещь нужна по работе, задался этой идеей и вот места себе не нахожу. Просто я в этой фирме менеджер одного из отделов недвижимости, подумал, что идея в общем неплохая. В общем мне просто нужно знать механизм действий, код я сам наваяю, просто сам принцип... Я представлял это так, что на хосте лежит таблица, есть какой-то компонент, позволяющий задавать Table не только локальные адреса или вообще компонент ее заменяющий, а далее по известной схеме. Теперь понял, что не прав. Подскажите верный алгоритм действий в этой ситуёвине. Добавлено @ 01:11 Интересно. А компоненты DataSnap тут никаким боком не помогут? |
||||
|
|||||
| Vit |
|
||||||||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Не таблицу а целиком сервер. И коннектится не к таблице а к серверу.
Подойдёт практически любой сервер, кроме разве что совсем уж чахлых.
Т.е. на ноуте на выезде должно быть зеркало данных локально с периодической синхронизацией данных или предполагается коннект к интернету?
Ввверху там прикреплена статья о переходе на клиент сервер Я представлял это так, что на хосте лежит таблица, есть какой-то компонент, позволяющий задавать Table не только локальные адреса или вообще компонент ее заменяющий, а далее по известной схеме. Теперь понял, что не прав. угу... так просто не пойдёт...
Ввверху там прикреплена статья о переходе на клиент сервер
Помогут, но это будет трёхзвенка, решение которое я тебе указал под номером 4. Скорее всего тебе оно не нужно, слишком небольшая задача... Обычного ADO или IB express хватит за глаза... Если выберешь MS SQL Server смогу помочь советами в разработке и настройке, с IB к сожалению близко не знаком... только на теоретическом уровне... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||||||||
|
|||||||||||||
| Jey_k |
|
||||||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
Не умею пока этого делать. Не подкинешь инфы?
Vit буду дико благодарен. И самый главный вопрос. С чего тут начать. Дельфя есть,седьмая. Я так понимаю нужно приобрести продукт MS SQL Server. Так? Завтра куплю на совке если так. Добавлено @ 20:04
Я предполагал коннект. А ты что посоветуешь? У тебя опыт в этих вопросах дай бог каждому. |
||||||
|
|||||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Коннект тоже можно, если инет нормальный а программа по умному написана, а нужные порты и права пользователя прописаны...
С чего начать? 1) Ставь на комп Дельфи и MS SQL Server хоть 7й хоть 2000 - разницы особой нет, для разработки тебе даже не важно они будут на одном компе стоять или на разных... Дальше, запускаешь сам сервис MS SQL Server (в трее на сервере появляется зелёный треугольничек - т.е. сервер работает и готов выполнять запросы). 2) На клиентском компе если не установлен SQL Server то надо установить часть которая называется SQL client, если на клиенте MS SQL Server уже стоит, то ничего доставлять не надо. 3) На клиенте заходишь в SQL Client network utility и делаешь Alias по TCP/IP адресу на сервак, допустим у тебя сервак называется JeySQL с адресом 192.168.0.2, то ты на клиенте делаешь Alias называешь его JeySQL, используешь TCP/IP и адрес 192.168.0.2. Порт оставляешь по умолчанию. Если у тебя сервак стоит локально на том же компьютере, можешь сделать алиас и на него - проблем нет, а можно и не делать... Тут момент такой - Alias в данном случае это имя сервера, по умолчанию имя сервера это имя компьютера, в пункте 4 моего описания когда делаешь коннект надо указывать имя сервера. Иногда без всяких Alias достаточно просто указать имя компьютера с SQL Server и всё будет работать, но это только не в очень навороченных локальных сетях, если же предполагается работа через инет или стоят всякие раутеры и firewall то надо сделать Alias чтобы привязать конкретное имя компьютера к конкретному IP адресу. 4) На форму бросаешь компонент ADOConnection. Жмёшь на свойство ConnectionString, в диалоге выбираешь провайдер MS SQL Server, дале вместо имени сервера указываешь созданный alias или имя компа на котором стоит сервер, используешь SQL Server security, логин вводишь sa (system administrator), пароль оставляешь пустым, имя базы данных... ну пока ты ещё не создал свою базу данных, поэтому можешь подключиться к стандартной MS тренировочной базе - Northwind. Всё коннект к серваку есть. Ставишь свойство LoginPromt=False чтоб не дёргал. 5) Теперь можешь положить на форму ADOQuery или ADOTAble указать им в качестве connection созданный компонент из пункта 4. И поиграться с этими компонентами, убедится что внешне они очень мало отличаются от привычных Table и Query... 6) Хоть на клиенте, хоть на самом сервере тебе доступны 2 программы - одна из них Enterprise Manager - штука для управления серверами, в неё надо будет добавить твой сервер и у тебя будет что-то типа эксплорера по серверу, базам данных, даблицам и т.д. Там удобно создавать базы данных, таблицы, редактировать всё что угодно... Вторая программа - SQL Query Analyser - мощнейшая утилита для разработки и оптимизации запросов...На первых порах тебе скорее всего и не понадобится... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
Vit. Благодарю!
А что именно забрасывать на хост? Какие файлы. Где именно прописывать глобальный адрес. |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
КПК глюкнул и репутация получилась +4, ну не обидишься думаю
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
У тебя есть: 1) Серверный компьютер (пусть будет комп по имени Gerostat, 192.168.0.2) - на нём стоит MS SQL Server - открыты порты и он доступен по IP - Запущен сервис MS SQL Server'а 2) Клиентский компьютер (пусть будет комп по имени Platon, 192.168.0.3) - на нём стоит MS SQL client - он имеет доступ по IP к серверу, Ping 192.168.0.2 проходит - на нём стоит твоё приложение... В крайнем случае оба компьютера, например во время разработки могут совпадать, т.е. на одном компе будет и клиент и сервер Никаких файлов никуда не надо, сервер сам с файлами разберётся. Забуть о хостах... У тебя есть сервер и есть клиенты которые запрашивают данные на сервере. Сервер хранит все данных, таблицы и т.п. Сервер САМ разбирается какие файлы куда ему писать. Есть клиент с твоим приложением - на клиенте стоит твоё приложение, если ему нужны данные оно запрашивает сервер. Попробуй сделать так как я в предыдущем посте написал, когда сделаешь у тебя отпадёт много вопросов... Будешь более осмысленно смотреть... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
То есть один из моих компов выступит в роли сервера?
А с хостом никак? |
|||
|
||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Да
Никак, да это и не нужно... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| Jey_k |
|
|||
![]() WEB-командир ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4149 Регистрация: 16.11.2003 Где: Москва Репутация: нет Всего: 61 |
Как раз нужно, т.к. я не могу комп держать постоянно включенным и соединенным с инетом, может для этого дела что-нить вроде пня 3-го купить и пусть себе шпарит? Просто сервер свой я не раньше чем через год поставлю. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |