Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS Access (ADO), Многопользовательский доступ 
:(
    Опции темы
iddqd
Дата 19.12.2005, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



На компьютере в расшаренной папке лежит база данных и программа для работы с ней.
База данных не позволяет работать с ней пользователю, использующему программу через сеть.
Как поступить в данной ситуации?


--------------------
PM MAIL   Вверх
FRAGNATIC
Дата 19.12.2005, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 2
Всего: 11



так те надо многопользовательский доступ или чтобы кто-то с ней черз сеть мог работать?
а клиент-сервер не устроит?
PM MAIL   Вверх
YurikGL
Дата 19.12.2005, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Качаем программу на компьютер клиента, настраиваем путь к базе, которая в расшаренной папке и все должно работать.
Конечно, при условии, что расшарено на изменение и т.д.....
--------------------
 
PM MAIL WWW ICQ   Вверх
iddqd
Дата 19.12.2005, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



FRAGNATIC, надо, чтоб одновременно несколько пользователей могли работать с базой данных MS Access.


--------------------
PM MAIL   Вверх
FRAGNATIC
Дата 19.12.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 2
Всего: 11



iddqd
низя с акссес (на сколько я знаю)

если в сети поставь себе например InterBase и мощнее и разобратся будет не сложно)
PM MAIL   Вверх
iddqd
Дата 20.12.2005, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



Цитата(YurikGL @ 19.12.2005, 23:00)
Качаем программу на компьютер клиента, настраиваем путь к базе, которая в расшаренной папке и все должно работать.
Конечно, при условии, что расшарено на изменение и т.д.....

Это проверенно практикой или лишь предположение?


--------------------
PM MAIL   Вверх
YurikGL
Дата 20.12.2005, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
Это проверенно практикой или лишь предположение?

Это проверено практикой.... Но я так делать не советую... т.к. иногда все же возникают непонятные глюки.... Так что оптимальным было бы использовать Interbase или Firebird.
Access в многопользовательском режиме я использовал только временно. В это время спешно писал для Interbase. Хотя, я знаю человека, который на Access-e реализовывал нормальные многопользовательские приложения.

Цитата
низя с акссес

Можно
--------------------
 
PM MAIL WWW ICQ   Вверх
javastic
Дата 20.12.2005, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 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 
PM MAIL WWW ICQ   Вверх
Vit
Дата 21.12.2005, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
iddqd
Дата 21.12.2005, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



javastic, Vit
Сделанно было так:
- создать папку и открыть к ней ПОЛНЫЙ доступ (на чтение и запись), также проверить, чтоб к файлу тоже был полный доступ
- положить туда файл базы данных *.mdb
- использовать разные копии *.exe, у каждого пользователя на компьютере своя копия
- открыть базу данных в MS Access и проверить Меню->Сервис->Параметры->Другие:
Режим открытия по умолчанию - Общий доступ
Блокировка по умолчанию - Изменяемой записи
Блокировка записей при открытии БД - Убрать чекбокс

В строке подключения у ADOConnection всё указанно.
С одним подключением работает исправно.
Как быть?:\


--------------------
PM MAIL   Вверх
FRAGNATIC
Дата 21.12.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 2
Всего: 11



Цитата
Можно

значит ошибся) сам не пробовал, но точно помню что мне такое кто-то сказал когда я интерисовался =)
PM MAIL   Вверх
SergeBS
Дата 21.12.2005, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



Народ, ну что вы ей-богу. Запускайте MS Jet на машине с базой, и уже с ним с клиента работайте. Вот вам и сервер. 10-20 юзеров потянет. Но вот с объемом базы - плоховато.
И сложную обработку тоже лучше не пробовать. Сдохнет. Слабенький.
А будете просто с каждого клиента лезть самостоятельно - глюки гарантированы. И никакие блокировки тут не помогут: ситуция будет точь-в-точь как в "многопользовательской" работе с DBF-никами.
По-любому вариант с сервером - гораздо приятнее. По крайней мере мне smile.
Да, чуть не забыл: Офис должен быть не ниже 2000, в 97 - блокировка у Access - просто смерть всему. А еще можно сходить на DelphiKingdom. Там неплохие статейки и насчет борьбы с Access, и насчет переезда на сервер (угадайте какой smile ).
Пардон, на всякий случай: MS Jet - официальное название сервера данных Access. Это чтобы найти было проще, где такой зверь smile.
Disclaimer: я с Access уже давно не работаю. Куда рыть - показал, а дальше ваши проблемы. Вот про MS SQL - потрепаться можно. Но не здесь, наверное.
PM MAIL   Вверх
YurikGL
Дата 21.12.2005, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
С одним подключением работает исправно.

А с другими - что?
--------------------
 
PM MAIL WWW ICQ   Вверх
iddqd
Дата 21.12.2005, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



SergeBS, можно пожалуйста подробней про MS Jet. Как сделать, где взять, куда ставить, как настроить и т.д. ?

YurikGL, пишет: "файл уже используется"


--------------------
PM MAIL   Вверх
YurikGL
Дата 22.12.2005, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



1) Кидаем на форму TADOConnection
2) Дважды на него кликаем
3) Выбираем Microsoft Jet xx DB Provider
4) Вкладка "дополнительно"
5) Права доступа галочка только на Share deny none (подозреваю, что именно здесь собака порылась)

вроде все...

И еще - проверь запустив два клиента с одного компьютера. Будет ругаться или нет..
--------------------
 
PM MAIL WWW ICQ   Вверх
SergeBS
Дата 22.12.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



iddqd
Цитата

Пардон, на всякий случай: MS Jet - официальное название сервера данных Access. Это чтобы найти было проще, где такой зверь .

Ну что непонятно? Запускай либо весь Access, если лень разбираться, либо только его движок БД. И с клиентов работай с тем, что запустил, а не с mdb. Не помню я, кто там конкретно jet. Давно это было.
YurikGL подключение описал. Дело за малым - сам движок запустить. Если он автоматом не запускается при обращении.

Вдогонку: если есть Офис 2000, то есть и MSDE - "настольный" вариант MS SQL. В доке врут, что всего 5 клиентов, на самам деле ограничение - в производительности. Т.е. в потоке данных на всех клиентов. Если поток маленький - то он и 100 потянет. И по любому мощнее Jet-а. По крайней мере мне так кажется. Я разработку на нем веду, а потом уже на нормальный сервер результат скидываю.


PM MAIL   Вверх
YurikGL
Дата 22.12.2005, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
Дело за малым - сам движок запустить. Если он автоматом не запускается при обращении.

Он интегрирован в винду, начиная с 2000-й (вроде... но в XP наверняка есть) и ставится автоматически с оффисом, тоже начиная с 2000-го (вроде... а может и раньше).
Короче, я реально ни разу не встречал компьтера, где-бы не был установлен этот jet (8088 на котором работал в лохматых 90-х в счет не берем smile )
--------------------
 
PM MAIL WWW ICQ   Вверх
SergeBS
Дата 23.12.2005, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



YurikGL
Что-то у тебя не то.
1. В винду Jet не интегрирован. Это все-таки кусок Офиса.
2. Между установлен и запущен есть разница. Вот у меня установлены MS SQL, FireBird, Offfice 2000, mySQL. Но запущен только MS SQL. Потому прочие базы я не вижу.

Если ты про MSDE - все точно так же. С добавкой: Офис не ниже 2000, и по правилам М$ лицензия офиса позволяет применять и MSDE. Если склероз не изменяет, ставится отдельно - свой каталог в дистрибутиве (типа замаскировали smile ). Но при такой пьянке я ставил бы из дистрибутива именно MS SQL - никаких инструментов у офисной версии нет - голый движок. А BOL/Enterprise manager/Query analyzer - штука необходимая. Мне без них скучно.
PM MAIL   Вверх
iddqd
Дата 23.12.2005, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



Спасибо всем за помощь. Проблема решена.

Стояло не Share Deny None, a Share Deny Read|Share Deny Write smile



--------------------
PM MAIL   Вверх
SergeBS
Дата 23.12.2005, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



iddqd
Если в лоб работаешь с mdb, то все проблемы у тебя впереди. И потому делай копию базы ежедневно. Серьезно.
PM MAIL   Вверх
YurikGL
Дата 23.12.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 5.7.2005
Где: Уфа

Репутация: нет
Всего: 2



Цитата
Если в лоб работаешь с mdb, то все проблемы у тебя впереди. И потому делай копию базы ежедневно. Серьезно.

Присоединяюсь двумя руками... причем, старые копии советую сохранять...
--------------------
 
PM MAIL WWW ICQ   Вверх
Veniamin
Дата 14.4.2008, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 3.3.2005

Репутация: нет
Всего: нет



Пишу приложение на Delphi для работы с БД на MS Aсcess, как сделать самую простую авторизацию на запуске приложения с правами, и возможно ли это?

Делал следующим образом: есть приложение в котором хранятся пары логин/пароль,  но это просто на запуск приложения вызывается форма с парой логин/пароль:

Код

procedure TFormSequrity.Button1Click(Sender: TObject);
begin
  with ADOQuery1.Parameters do
  begin
    ParamByName('Par1').Value:=Edit1.Text;
    ParamByName('Par2').Value:=Edit2.Text;
  end;
  ADOQuery1.Open;
  if ADOQuery1.RecordCount>0 then
  begin
    Form1.Tag:=1;
    id_user:=ADOQuery1UserID.Value;
    ADOQuery1.Close;
    FormSequrity.Close;
    DataModule2.ADOConnection1.Open;
    DataModule2.BookTable.Open;
    exit;
  end;
  ShowMessage(В доступе отказано!');
  ADOQuery1.Close;
  end;
end.



А интересует, как сделать что-то подобное, но с правами чтения/записи в таблицы БД?
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0634 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.