powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Альтернатива MS Access
25 сообщений из 54, страница 2 из 3
Альтернатива MS Access
    #37453457
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ЛПМдя... Мало того, что ковыряние пальцем в носу, так ещё и посредством пальца ноги. И твёрдая убеждённость в том, что это правильно.
Я знал, конечно, что такие уникумы бывают, но не думал, что доведётся узреть воочию.
Случаи в жизни бывают разные, у меня к примеру был случай, имелась программа, которая должна была работать только с локальными данными, можно было ее сделать и сетевой, но начальство требовало именно это, т.е. работоспособность рабочего места не должна зависеть от состояния сети/сервера, с другой стороны необходимо было собирать с компьютеров, где она имелась, данные из них в одну базу, при этом при работе программы локальные данные лочились, еще один прикол состоял в том, что формат локальных данных менялся... Сначала была написана программа на дельфях, 3-е раза переписана, а потом плюнули, воткнули на каждый комп локальный движок ASA5, который при старте компа все и разруливал...
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #37453682
.ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Orlov.ЛПМдя... Мало того, что ковыряние пальцем в носу, так ещё и посредством пальца ноги. И твёрдая убеждённость в том, что это правильно.
Я знал, конечно, что такие уникумы бывают, но не думал, что доведётся узреть воочию.
Случаи в жизни бывают разные, у меня к примеру был случай, имелась программа, которая должна была работать только с локальными данными, можно было ее сделать и сетевой, но начальство требовало именно это, т.е. работоспособность рабочего места не должна зависеть от состояния сети/сервера, с другой стороны необходимо было собирать с компьютеров, где она имелась, данные из них в одну базу, при этом при работе программы локальные данные лочились, еще один прикол состоял в том, что формат локальных данных менялся... Сначала была написана программа на дельфях, 3-е раза переписана, а потом плюнули, воткнули на каждый комп локальный движок ASA5, который при старте компа все и разруливал...
Локальный движок локальным движком, речь не про то.
Есть желание сохранять в ASA - да всегда пожалуйста, сохраняй. Нет желания - не сохраняй в ASA, сохраняй в куда угодно. Данные то уже закачаны на клиента, ежели не предполагается например обратной репликации изменений, то и пофигу абсолютно, в чём там оно лежит для сугубо локальной обработки.
Но вот желание производить эту сугубо локальную обработку прям тут же лежащих данных не абы как, а именно путём написания хранимых процедур на кривокорявом T-SQL вместо более человечьих языков - это таки желание заняться ковырянием в носу пальцем ноги. Причём в ботинке. А топик выглядит как "помогите выбрать ботинок, подходящий для такой вот задачи".
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #37454906
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.ЛП Локальный движок локальным движком, речь не про то.
Есть желание сохранять в ASA - да всегда пожалуйста, сохраняй. Нет желания - не сохраняй в ASA, сохраняй в куда угодно. Данные то уже закачаны на клиента, ежели не предполагается например обратной репликации изменений, то и пофигу абсолютно, в чём там оно лежит для сугубо локальной обработки.
Но вот желание производить эту сугубо локальную обработку прям тут же лежащих данных не абы как, а именно путём написания хранимых процедур на кривокорявом T-SQL вместо более человечьих языков - это таки желание заняться ковырянием в носу пальцем ноги. Причём в ботинке. А топик выглядит как "помогите выбрать ботинок, подходящий для такой вот задачи".
Как я понял ASA- это одна из СУБД. И если это так то где я написал что хочу пользоваться именно ей и что буду создавать ХП на, оказывается, корявом T-SQL??????

И вообще - суть вопроса темы не как правильно или неправильно решать какой либо вопрос. Вопрос состоит в поиске СУБД которая отвечает заявленным требованиям
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Альтернатива MS Access
    #39101289
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошло то всего 4 года и проблема и вопрос снова поднялся.
Может я выражаюсь слегка школьным говором озвучивая свои проблемы но постараюсь описать что конкретно нужно.
В настоящий момент есть программа которая связывается с БД Access. Сама база по средством запросов получает данные с главного сервера. Для обработки данных в СУБД есть процедуры которые написаны на VBA. Вот именно в данных процедурах сейчас и проблема так как они работают только там где установлен Access. а он не везде и установить его там нельзя.
Задача - найти альтернативную СУБД которая также как и аксес не требовала установки для обращения к ней и работы с данными в ней но при этом не требовала дополнительных установок для работы внутренних процедур.
Как я понял MS SQL Express LocalDB все равно требует установки самого экспресса.
Compact 4.0 - может работать только с VS (как я понял может я и не прав)
Спасибо заранее за помощь
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101294
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

Вы бы более конкретно задачу описали. Что за данные, почему они каждый раз нужны на новом сервере? У мння ощущение что вы что то не то задумали
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101299
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMесть процедуры которые написаны на VBA
Это vendor lock. Этими процедурами Вы себя безвылазно приковали к Аксессу. Выхода нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101323
DriveSoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

Пожалуйста
http://drive-software.com/myvisualdatabase_ru.html


созданное приложение будет самостоятельным, не требуется ничего дополнительно устанавливать (СУБД SQLite)


также поддерживается MySQL
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101372
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM, за 4 года могли бы и переписать на VB.NET.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101607
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VBA не работает без установки - значит от него придется отказаться.
VB.NET тоже потребует поставить .net (хотя можно взять такую версию, которая уже есть)

Вопрос - на чем переписать и где хранить результаты.
1. Переписать на любом скриптовом или компилируемом языке, который имеет доступ к Informix, начиная от shell, tcl, vbscript, c, python и заканчивая внутренним xSQL п2.(поддерживается в ASA, Firebird)
2. Хранить или просто в файле и обрабатывать все в памяти или, если обработки сложные и данных на клиент выбирается много - в ембеддед СУБД. Можно в sqlite, dbf, bdb, h2, hsqldb - их миллион.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39101619
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

Движок Access встроен в последние версии Windows по умолчанию.
Для работы с ним не надо устанавливать Access отдельно. Т.е., можно использовать формат хранения Access, а VBA логику и интерфейс сделать на VB.NET Express.

Все бесплатно и не потребует таких уж усилий.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102474
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за участие. поясню ситуацию. Да, действительно все из-за этих процедур VBA. Но без них я не могу вызвать запросы на добавление. Вот тексты
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Function LoadRP_FS() As String
    Dim stDocName As String
    Dim QD As QueryDef
    DoCmd.SetWarnings False
    Set QD = CurrentDb.QueryDefs("QA_newRP")
    QD.Execute
    QD.Close
    Set QD = Nothing
    DoCmd.SetWarnings True
    End Function


Запрос QA_newRP
Код: sql
1.
2.
3.
4.
5.
6.
INSERT INTO notloadData (...)
SELECT ...
FROM ...
GROUP BY ...
HAVING ...
ORDER BY ...



Этот запрос выгружает данные с сервера.

Затем идет дополнительная (выборочная загрузка) данных с того же сервера

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Function LoadRP_Sel(foid As Long) As String
     Dim stDocName As String
     Dim QD As QueryDef
    
     DoCmd.SetWarnings False
     Set QD = CurrentDb.QueryDefs("QA_LoadRP")
     QD.Parameters("foid") = foid
     QD.Execute
     Set QD = CurrentDb.QueryDefs("QA_Loadrez1")
     QD.Parameters("foid") = foid
     QD.Execute
     Set QD = CurrentDb.QueryDefs("QA_Loadrez2")
     QD.Parameters("foid") = foid
     QD.Execute
     Set QD = CurrentDb.QueryDefs("QD_loadRP")
     QD.Execute
     Set QD = CurrentDb.QueryDefs("QD_loadrez")
     QD.Execute
     QD.Close
     Set QD = Nothing
     DoCmd.SetWarnings True
     LoadRP_Sel = CStr(foid)
    
    End Function


Запрос QA_LoadRP
Код: sql
1.
2.
3.
4.
INSERT INTO t_RP ( ...)
SELECT ...
FROM ...
WHERE (...);


Запрос QA_Loadrez1
Код: sql
1.
2.
3.
4.
INSERT INTO ... ( ...)
SELECT ...
FROM ...
WHERE (...);



Запрос QA_Loadrez2
Код: sql
1.
2.
3.
4.
INSERT INTO ... ( ...)
SELECT ...
FROM ...
WHERE (...);



Запрос QD_loadRP
Код: sql
1.
2.
3.
DELETE ...
FROM ...
WHERE ...



Запрос QD_loadrez
Код: sql
1.
2.
3.
DELETE ...
FROM ...
WHERE ...



я не нашел способа эти запросы исполнять из программы. пришлось через VBA.
Делаю так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
procedure TMyThread.Execute;
begin
  Fmain.dxBarLargeButton1.Enabled:=false;
  Synchronize(newRP);
   try
     //GetADOC(PADOC);
    // Fmain.RunAccProc('LoadRP_FS',nil);
     accApp:= CreateOleObject('Access.Application');
     accApp.OpenCurrentDatabase(ExtractFilePath(application.ExeName)+'Statistica.mdb', false, '');
     accApp.Run('LoadRP_FS');
     accApp.Quit;
     accApp:= Unassigned;
     except
      ShowMessage('Невозможно выполнить процедуру -LoadRP_FS');
    end;
  Fmain.checknewrp;
  Fmain.dxBarLargeButton1.Enabled:=true;
  ThreadRP.Terminate;
end;



Если есть способ выполнять данные запросы по-другому пожалуйста подскажите. Я так и не смог найти. Спасибо
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102487
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,

Я бы все таки посоветовал еще раз написать что же за задачу Вы решаете. Зачем исполнять эти скрипты? Почему нельзя все данные грузить на один сервер и там их обрабатывать?
У меня ощущение что Вы просите совета где лучше купить веревку и мыло
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102613
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102847
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102858
Фотография DOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102862
Volochkova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DOSSЕщё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.

Ага, а следом САП или Акспата, тоже много какие субд держат /*Сарказм*/

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на C# + Compact ( Express Local)
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102881
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey OrlovMaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...
Немного не понял - это набор компонент или доп. Провайдер вместо MS jet 4.0 который надо до установить на клиенте?
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102885
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VolochkovaDOSSЕщё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.

Ага, а следом САП или Акспата, тоже много какие субд держат /*Сарказм*/

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на C# + Compact ( Express Local)
То есть Вы считаете что переписать проект с делфи на с# на котором никогда не писал... Это проще?
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102911
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMSergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102961
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFMVolochkovaпропущено...


Ага, а следом САП или Акспата, тоже много какие субд держат /*Сарказм*/

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на C# + Compact ( Express Local)
То есть Вы считаете что переписать проект с делфи на с# на котором никогда не писал... Это проще?
Проще переписать с VBA на VB.NET - процедуры базы практически не изменятся, но интерфейс придется сделать заново. Это если есть возможность на локальной машине поставить (или имеется >2.0) .NET рантайм.

AccessDatabaseEngine https://www.microsoft.com/en-us/download/details.aspx?id=39358
это не только драйвер, но поддержка форм итп, т.е считай весь аксесс.

MSjet это только драйвер .mdb/.accdb, он есть начиная с Vista, только 32-бит и считается официально снятым с поддержки.
Тем не менее в W8.1 он еще присутствует.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39102984
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuperMaxFMSergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.
Так в принципе это и реализовано- БД на аксесе является тем самым другим сервером который загружает с основного сервера и к которому потом подключается программа-клиент.
Есть ли возможность выполнить запрос на добавление что я выше описал из программы? Если да то тогда необходимость в функциях на vba отпадает и вопрос закроется
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39103048
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMSergSuperпропущено...
Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.
Так в принципе это и реализовано- БД на аксесе является тем самым другим сервером который загружает с основного сервера и к которому потом подключается программа-клиент.
Есть ли возможность выполнить запрос на добавление что я выше описал из программы? Если да то тогда необходимость в функциях на vba отпадает и вопрос закроетсяизвиняюсь, Вы вообще представляете как работает архитектура клиент-сервер? все запросы выполняются на сервере, клиент их только посылает.
функции vba вообще непонятно зачем нужны
судя по скриптам которые Вы привели похоже программировать вообще ничего не надо, SSIS всё это умеет
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39103080
MaxFM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper,
А я не говорю что мне жизненно необходимы эти функции. Но я не смог иными способами из своей программы отправить команду на выполнение запроса на добавление что сохранён в БД.
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39103138
Зимаргл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaxFM,

Выполнить select from один сервер into 2й сервер нельзя.
Придется скопировать себе выборку в свою базу примерно так
http://www.celticwolf.com/blog/2010/12/11/copy-data-between-databases-in-net-with-a-dataset/
...
Рейтинг: 0 / 0
Альтернатива MS Access
    #39103163
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFMSergey OrlovMaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...
Немного не понял - это набор компонент или доп. Провайдер вместо MS jet 4.0 который надо до установить на клиенте?
Это runtime, т.е. без конструктора, чисто интерпритатор базы... Есть и 64-битовый...
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Альтернатива MS Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]