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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2016, 14:43   #21
edsjeka
Пользователь
 
Регистрация: 01.01.2016
Сообщений: 98
По умолчанию

Эта больная тема получила продолжение.
В общем, все закончилось тем, что я установил AccessDatabaseEngine.exe 32х разрядную версию и все заработало.
Теперь всплыла следующая проблема. Ситуация такая, БД сделана в Access, на компе на котором должна работать программа, офис вообще не стоит, но после установки AccessDatabaseEngine.exe 32х все работало нормально. До тех пор, пока БД лежала у меня на локальном диске, рядом с программой. Теперь пришло время выложить БД на сервер и тут снова появились проблемы с соединением с БД. При подключении к БД выдается ошибка Could not find installable ISAM. Тут уже и AccessDatabaseEngine.exe не помогает. Когда ставлю офис, все работает. Но на этом компе не должен стоять офис. Так вот вопрос, можно ли что-нибудь сделать, чтобы связь с БД работала без установленного офиса или я теперь к этому Accessу привязан навечно?
И почему именно по сети не работает, а на локальном диске работает, какая разница? просто путь другой.
edsjeka вне форума Ответить с цитированием
Старый 06.02.2016, 15:32   #22
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Раз и два к прочтению.

Цитата:
И почему именно по сети не работает, а на локальном диске работает, какая разница? просто путь другой.
Просто огромная разница. Локально работает один пользователь, по сети - много пользователей могут открыть одну БД, менять таблицы, записи. В теме аксеса, все в этом плане вообще плохо. Там не что 2 пользователя 1 запись смотреть/менять не могут, все ещё хуже. Когда 1 открывает таблицу, второй лапу сосет. Монопольный доступ.

Цитата:
У меня программа завязана на работу с БД древнего аксеса, как её запустить, да ещё по сети, не устанавливая туда аксес?
Все, я ржу под столом.

Я предлагаю вам не жрать кактус, и не лезть в бутылку, а заморочиться, и переписать программу на использование нормальных СУБД, как бы это не было, скучно нудно, тяжело и т.д. и т.п. отмазки. Тем более что вы уже на сетевой доступ переходите. Потом огребёте ещё проблем типа "как это? два пользователя не могут работать с БД?" О_О, О_О. Вот так. не могут. Монопольный доступ потому что.

Если вам нужна СУБД локально (не по локальной сети, ни в интернете), т.е. файл рядом с программой - ваш выбор SQLite.
Если БД общая, а программа выступает в роли клиента к ней, выбирайте уже большого количества СУБД, доступных в сети. MySQL, MaryaDB, PostgreeSQL и прочие...
Даже SQLite опять же можно шарить по сети без проблем, но в качестве сетевой БД лучше использовать именно СУБД-решение для сети т.е. firebitd и т.д. и т.п.

Последний раз редактировалось Человек_Борща; 06.02.2016 в 15:35.
Человек_Борща вне форума Ответить с цитированием
Старый 06.02.2016, 16:21   #23
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
Там не что 2 пользователя 1 запись смотреть/менять не могут, все ещё хуже. Когда 1 открывает таблицу, второй лапу сосет. Монопольный доступ.
Ох уж эти сказочники.
come-on вне форума Ответить с цитированием
Старый 06.02.2016, 17:57   #24
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Ох уж эти сказочники.
У меня так и было, потому я не использую эту БД. Если знаете как правильно расшарить аксес, поделитесь инфой
Человек_Борща вне форума Ответить с цитированием
Старый 06.02.2016, 19:00   #25
edsjeka
Пользователь
 
Регистрация: 01.01.2016
Сообщений: 98
По умолчанию

Я так и не понял, одни говорят не используй Access, другие говорят, используй. У меня поэтому база и в Accesse, что мне говорили, когда я начинал учится, нарисуй таблицы в Access и все будет зашибись. А теперь, почему-то Access у большинства стал отстойным.
А могу я допустим перейти на MySQL таким образом, пересоздать там всю БД, создать такие же таблицы, как я делал в Access, а саму программу на Delphi не переделывать полностью, просто подключить новые таблицы. И дальше работать с Delphi?

Последний раз редактировалось edsjeka; 06.02.2016 в 19:09.
edsjeka вне форума Ответить с цитированием
Старый 07.02.2016, 01:02   #26
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Я так и не понял, одни говорят не используй Access, другие говорят, используй. У меня поэтому база и в Accesse, что мне говорили, когда я начинал учится, нарисуй таблицы в Access и все будет зашибись. А теперь, почему-то Access у большинства стал отстойным.
БД выбирается исходя из задачи. Аксес подошел бы, будь у вас БД на том же ПК что и программа, так вы пихнули БД на сеть, и пытаетесь сделать так, чтобы ПО работало без аксеса. ПО в любом случае модифицировать надо, либо под аксес + сеть, либо под нормальную БД.

Нет, смена типа БД, требует модификации ПО. Использование других компонент, как минимум, или их перенастройка.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что нужно сделать чтобы программа запускалась не с Fom1 а с другой формы Form2 ...? Nazario Общие вопросы Delphi 2 11.03.2012 14:31
Как сделать программу, чтобы она запускалась везде? grenles Общие вопросы C/C++ 3 11.06.2008 21:10
Как сделать так,чтобы программа запускалась с включением компьютера? InseR Общие вопросы Delphi 24 12.02.2008 18:55
Как сделать, чтобы программа запускалась один раз, т.е. повторно запустить нельзя??? Kamikadze_666 Безопасность, Шифрование 7 31.07.2007 08:34
что нужно сделать, чтобы при нажатии кнопки запускалась процедура mager Общие вопросы Delphi 15 19.11.2006 15:02