Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2010, 17:50   #1
GreenShuller
Пользователь
 
Регистрация: 23.06.2010
Сообщений: 23
Вопрос Совместное использование БД в mysql

Привет Гуру компьютерного кода!

Столкнулся с трудностью, которую нужно решить.

Создал программу, которая питается через базу MySQL.

Как сделать, чтобы этой программой могли пользоваться много людей с разных точек. Чтобы могли записывать все в БД. Пока что программа не грузит базу, пока другой человек включил прогу на другом компе.

Спасибо большое за помощь.
GreenShuller вне форума Ответить с цитированием
Старый 28.06.2010, 06:41   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Не совсем понятно. Что и как ты создал...
Т.к. что значит
Цитата:
Пока что программа не грузит базу, пока другой человек включил прогу на другом компе.
Это нонсенс.

Ну и для начала как подключаешься к БД.
Компоненты доступа?
Режим подключения?
Где находится БД?
Каким образом происходит подключение с других машин.
Через конфиг файл? Реестр(создание источника данных)? Для каждого компа компиляешь свой экзешник?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 28.06.2010, 08:07   #3
GreenShuller
Пользователь
 
Регистрация: 23.06.2010
Сообщений: 23
По умолчанию

Я имел ввиду то, что мне нужен многопользовательский режим.

Компоненты доступа к БД: SQLConnection, DataSource, SimpleDataSet, DBGrid.

Режим: MySqlConnection

Бд находится на mysql10.hostland.ru (phpMyadmin)
Подключение происходит через такой же EXE-шник.
GreenShuller вне форума Ответить с цитированием
Старый 28.06.2010, 08:21   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

rdama, АБСОЛЮТНО прав!
подавляющее большинство современных СУБД - многопользовательские!
И уж,однозначно, таковой является MySQL!

рассказывайте подробности и симпотомы... Тексты/скриншоты ошибок, исходники проекта (разумеется имя и пароль не забудьте заменить на мусор!)

p.s. не настолько хорошо знаю MySQL, но я бы проверил:
1) что Вы не лочите БД при входе в неё. (не уверен, что такое вообще есть, но тем не менее)
2) проверьте, прямо через PhpMyAdmin - может пользователю, через которого Вы подключаетесь ограничено число подключений к БД.
3) надеюсь Вы данные получаете через SQL в Query ?! и так же вносите изменения? (через Query + ''update ... / insert ... / Delete .... ")

Последний раз редактировалось Serge_Bliznykov; 28.06.2010 в 08:28.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.06.2010, 08:23   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

// прошу удалить ошибочный пост

Последний раз редактировалось Serge_Bliznykov; 28.06.2010 в 08:27.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 28.06.2010, 08:46   #6
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Цитата:
Я имел ввиду то, что мне нужен многопользовательский режим.

Компоненты доступа к БД: SQLConnection, DataSource, SimpleDataSet, DBGrid.

Режим: MySqlConnection

Бд находится на mysql10.hostland.ru (phpMyadmin)
Подключение происходит через такой же EXE-шник.
1. А с MySQL кроме как в многопользовательском режиме и не имеет смысла работать.
2. Я так понимаю что ты юзаешь набор компонент dbExpress.
3. Под режимом я подразумевал монопольно или нет. Т.е. лочишь БД или нет. (Так же как и Сергей не уверен, что такой режим возможен во всяком случае мне не приходилось с ним сталкиваться).
И еще Сергей подкинул вариант проверь сколько у тебя разрешенных подключений к БД. Может ты разрешаешь только одно подключение к БД?

И еще раз повторяю вопрос про подключение...
Выбери вариант который используешь ты.
а) Через конфиг файл?
б) Реестр(создание источника данных)?
в) Для каждого компа компиляешь свой экзешник?
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 28.06.2010, 10:24   #7
GreenShuller
Пользователь
 
Регистрация: 23.06.2010
Сообщений: 23
По умолчанию

Я SQLQuery не могу подключить.

пишет: Operation not allowed on a unidirectional dataset.

НА форме стоять только эти компоненты: SQLConnection, DataSource, SimpleDataSet, DBGrid.

Кстати, что нужно добавить, чтобы была возможность записывать в БД изменения?

Для доступа в БД для каждого компа компилирую свой экзешник
GreenShuller вне форума Ответить с цитированием
Старый 28.06.2010, 10:54   #8
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Ну раз все выглядит таким образом. То ты недалеко ушел. Чтоб было обидно от того что все надо переделать.
Для начала отказывайся от использования dbExpress ибо просто весьма не понятная вещь и не предсказуемая.
Попробуй использовать компоненты из наборов Unidac(DevArt), Anydac(RemObjects), Mydac(DevArt), Dac for Mysql(MicroOlap).
Все платное. Но можно найти ломаное.
Это ты грид пытаешься подключить к SQLQuery. И получаешь ошибку.
Вот посмотри
http://www.tek-tips.com/viewthread.cfm?qid=201167
http://www.sql.ru/forum/actualthread...memory+dataset
http://www.delphikingdom.com/asp/listerrors.asp?ID=1
http://www.delphikingdom.com/asp/ans...IDAnswer=19172

Т.о. SQLQuery является однонаправленным дата сетом по которому можно передвигаться только вперед (т.е. Next/Last) методы (Prior/Forward) недоступны. По гриду можно передвигаться в обоих направлениях и поэтому они не совместимы.
Пользуй SimpleDataSet у него есть свойство CommandText туда и пиши запросы.

И еще для каждого компа свой екзешник это изврат.
Создай ini файлик запиши в него параметры для подключения к БД. И при старте программы читай его.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместное написание игры. Casper-SC Свободное общение 20 14.06.2010 21:16
Совместное обучение с++ JOFRIF Свободное общение 0 24.05.2010 03:16
MySQL использование БД одним файлом psyco БД в Delphi 1 16.05.2010 15:33
Совместное использование базой данных zenner Microsoft Office Access 9 01.03.2010 15:11