![]() |
|
|
![]()
|
|
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
На компьютере в расшаренной папке лежит база данных и программа для работы с ней.
База данных не позволяет работать с ней пользователю, использующему программу через сеть. Как поступить в данной ситуации? -------------------- |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: 2 Всего: 11 |
так те надо многопользовательский доступ или чтобы кто-то с ней черз сеть мог работать?
а клиент-сервер не устроит? |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Качаем программу на компьютер клиента, настраиваем путь к базе, которая в расшаренной папке и все должно работать.
Конечно, при условии, что расшарено на изменение и т.д..... --------------------
|
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
FRAGNATIC, надо, чтоб одновременно несколько пользователей могли работать с базой данных MS Access.
-------------------- |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: 2 Всего: 11 |
iddqd
низя с акссес (на сколько я знаю) если в сети поставь себе например InterBase и мощнее и разобратся будет не сложно) |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Это проверенно практикой или лишь предположение? -------------------- |
|||
|
||||
| YurikGL |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Это проверено практикой.... Но я так делать не советую... т.к. иногда все же возникают непонятные глюки.... Так что оптимальным было бы использовать Interbase или Firebird. Access в многопользовательском режиме я использовал только временно. В это время спешно писал для Interbase. Хотя, я знаю человека, который на Access-e реализовывал нормальные многопользовательские приложения.
Можно --------------------
|
||||
|
|||||
| javastic |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1214 Регистрация: 18.3.2005 Где: St.Petersburg Репутация: нет Всего: 27 |
iddqd, можно сделать многопользовательскую базу с access без проблем.
1. проверь чтобы пользователи которые будут работать с базой имели права чтение/запись на тот сетевой рессурс где будет лежать база на ms access'е. 2. проверь в настройках базы Menu -> Options закладка Advanced чтобы по умолчанию открытие базы было Shared, а не Exclusive ( у меня office английский, так что я не знаю как это будет называться в русском, но по смыслу можно догадаться) и всё у тебя будет работать. Это сообщение отредактировал(а) javastic - 20.12.2005, 13:24 -------------------- 01101010 01100001 01110110 01100001 01110011 01110100 01101001 01100011 scjp, mcp |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
javastic - всё правильно, именно так и будет работать. Только надо не забывать что несмотря на всё это MS Access останется локальной базой данных, а не сервером и работать будет только на очень небольшом количестве подключений... Если речь идёт о системе которая будет работать на постоянной основе с несколькими клиентами то имеет смысл озаботится сервером баз данных..
-------------------- 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 |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
javastic, Vit
Сделанно было так: - создать папку и открыть к ней ПОЛНЫЙ доступ (на чтение и запись), также проверить, чтоб к файлу тоже был полный доступ - положить туда файл базы данных *.mdb - использовать разные копии *.exe, у каждого пользователя на компьютере своя копия - открыть базу данных в MS Access и проверить Меню->Сервис->Параметры->Другие: Режим открытия по умолчанию - Общий доступ Блокировка по умолчанию - Изменяемой записи Блокировка записей при открытии БД - Убрать чекбокс В строке подключения у ADOConnection всё указанно. С одним подключением работает исправно. Как быть?:\ -------------------- |
|||
|
||||
| FRAGNATIC |
|
|||
|
..::Свирепый Кодер::.. ![]() ![]() Профиль Группа: Участник Сообщений: 901 Регистрация: 17.10.2004 Где: ICQ Репутация: 2 Всего: 11 |
значит ошибся) сам не пробовал, но точно помню что мне такое кто-то сказал когда я интерисовался =) |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Народ, ну что вы ей-богу. Запускайте MS Jet на машине с базой, и уже с ним с клиента работайте. Вот вам и сервер. 10-20 юзеров потянет. Но вот с объемом базы - плоховато.
И сложную обработку тоже лучше не пробовать. Сдохнет. Слабенький. А будете просто с каждого клиента лезть самостоятельно - глюки гарантированы. И никакие блокировки тут не помогут: ситуция будет точь-в-точь как в "многопользовательской" работе с DBF-никами. По-любому вариант с сервером - гораздо приятнее. По крайней мере мне Да, чуть не забыл: Офис должен быть не ниже 2000, в 97 - блокировка у Access - просто смерть всему. А еще можно сходить на DelphiKingdom. Там неплохие статейки и насчет борьбы с Access, и насчет переезда на сервер (угадайте какой Пардон, на всякий случай: MS Jet - официальное название сервера данных Access. Это чтобы найти было проще, где такой зверь Disclaimer: я с Access уже давно не работаю. Куда рыть - показал, а дальше ваши проблемы. Вот про MS SQL - потрепаться можно. Но не здесь, наверное. |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
А с другими - что? --------------------
|
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
SergeBS, можно пожалуйста подробней про MS Jet. Как сделать, где взять, куда ставить, как настроить и т.д. ?
YurikGL, пишет: "файл уже используется" -------------------- |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
1) Кидаем на форму TADOConnection
2) Дважды на него кликаем 3) Выбираем Microsoft Jet xx DB Provider 4) Вкладка "дополнительно" 5) Права доступа галочка только на Share deny none (подозреваю, что именно здесь собака порылась) вроде все... И еще - проверь запустив два клиента с одного компьютера. Будет ругаться или нет.. --------------------
|
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
iddqd
Ну что непонятно? Запускай либо весь Access, если лень разбираться, либо только его движок БД. И с клиентов работай с тем, что запустил, а не с mdb. Не помню я, кто там конкретно jet. Давно это было. YurikGL подключение описал. Дело за малым - сам движок запустить. Если он автоматом не запускается при обращении. Вдогонку: если есть Офис 2000, то есть и MSDE - "настольный" вариант MS SQL. В доке врут, что всего 5 клиентов, на самам деле ограничение - в производительности. Т.е. в потоке данных на всех клиентов. Если поток маленький - то он и 100 потянет. И по любому мощнее Jet-а. По крайней мере мне так кажется. Я разработку на нем веду, а потом уже на нормальный сервер результат скидываю. |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Он интегрирован в винду, начиная с 2000-й (вроде... но в XP наверняка есть) и ставится автоматически с оффисом, тоже начиная с 2000-го (вроде... а может и раньше). Короче, я реально ни разу не встречал компьтера, где-бы не был установлен этот jet (8088 на котором работал в лохматых 90-х в счет не берем --------------------
|
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
YurikGL
Что-то у тебя не то. 1. В винду Jet не интегрирован. Это все-таки кусок Офиса. 2. Между установлен и запущен есть разница. Вот у меня установлены MS SQL, FireBird, Offfice 2000, mySQL. Но запущен только MS SQL. Потому прочие базы я не вижу. Если ты про MSDE - все точно так же. С добавкой: Офис не ниже 2000, и по правилам М$ лицензия офиса позволяет применять и MSDE. Если склероз не изменяет, ставится отдельно - свой каталог в дистрибутиве (типа замаскировали |
|||
|
||||
| iddqd |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 16.11.2005 Репутация: нет Всего: 2 |
Спасибо всем за помощь. Проблема решена.
Стояло не Share Deny None, a Share Deny Read|Share Deny Write -------------------- |
|||
|
||||
| SergeBS |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
iddqd
Если в лоб работаешь с mdb, то все проблемы у тебя впереди. И потому делай копию базы ежедневно. Серьезно. |
|||
|
||||
| YurikGL |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 5.7.2005 Где: Уфа Репутация: нет Всего: 2 |
Присоединяюсь двумя руками... причем, старые копии советую сохранять... --------------------
|
|||
|
||||
| Veniamin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 3.3.2005 Репутация: нет Всего: нет |
Пишу приложение на Delphi для работы с БД на MS Aсcess, как сделать самую простую авторизацию на запуске приложения с правами, и возможно ли это?
Делал следующим образом: есть приложение в котором хранятся пары логин/пароль, но это просто на запуск приложения вызывается форма с парой логин/пароль:
А интересует, как сделать что-то подобное, но с правами чтения/записи в таблицы БД? |
|||
|
||||
![]()
|
| Правила форума "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. |