Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Альтернатива MS Access  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4510
.ЛП
Мдя... Мало того, что ковыряние пальцем в носу, так ещё и посредством пальца ноги. И твёрдая убеждённость в том, что это правильно.
Я знал, конечно, что такие уникумы бывают, но не думал, что доведётся узреть воочию.

Случаи в жизни бывают разные, у меня к примеру был случай, имелась программа, которая должна была работать только с локальными данными, можно было ее сделать и сетевой, но начальство требовало именно это, т.е. работоспособность рабочего места не должна зависеть от состояния сети/сервера, с другой стороны необходимо было собирать с компьютеров, где она имелась, данные из них в одну базу, при этом при работе программы локальные данные лочились, еще один прикол состоял в том, что формат локальных данных менялся... Сначала была написана программа на дельфях, 3-е раза переписана, а потом плюнули, воткнули на каждый комп локальный движок ASA5, который при старте компа все и разруливал...
23 сен 11, 14:23    [11326353]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
.ЛП
Guest
Sergey Orlov
.ЛП
Мдя... Мало того, что ковыряние пальцем в носу, так ещё и посредством пальца ноги. И твёрдая убеждённость в том, что это правильно.
Я знал, конечно, что такие уникумы бывают, но не думал, что доведётся узреть воочию.

Случаи в жизни бывают разные, у меня к примеру был случай, имелась программа, которая должна была работать только с локальными данными, можно было ее сделать и сетевой, но начальство требовало именно это, т.е. работоспособность рабочего места не должна зависеть от состояния сети/сервера, с другой стороны необходимо было собирать с компьютеров, где она имелась, данные из них в одну базу, при этом при работе программы локальные данные лочились, еще один прикол состоял в том, что формат локальных данных менялся... Сначала была написана программа на дельфях, 3-е раза переписана, а потом плюнули, воткнули на каждый комп локальный движок ASA5, который при старте компа все и разруливал...

Локальный движок локальным движком, речь не про то.
Есть желание сохранять в ASA - да всегда пожалуйста, сохраняй. Нет желания - не сохраняй в ASA, сохраняй в куда угодно. Данные то уже закачаны на клиента, ежели не предполагается например обратной репликации изменений, то и пофигу абсолютно, в чём там оно лежит для сугубо локальной обработки.
Но вот желание производить эту сугубо локальную обработку прям тут же лежащих данных не абы как, а именно путём написания хранимых процедур на кривокорявом T-SQL вместо более человечьих языков - это таки желание заняться ковырянием в носу пальцем ноги. Причём в ботинке. А топик выглядит как "помогите выбрать ботинок, подходящий для такой вот задачи".
23 сен 11, 15:30    [11327165]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
.ЛП
Локальный движок локальным движком, речь не про то.
Есть желание сохранять в ASA - да всегда пожалуйста, сохраняй. Нет желания - не сохраняй в ASA, сохраняй в куда угодно. Данные то уже закачаны на клиента, ежели не предполагается например обратной репликации изменений, то и пофигу абсолютно, в чём там оно лежит для сугубо локальной обработки.
Но вот желание производить эту сугубо локальную обработку прям тут же лежащих данных не абы как, а именно путём написания хранимых процедур на кривокорявом T-SQL вместо более человечьих языков - это таки желание заняться ковырянием в носу пальцем ноги. Причём в ботинке. А топик выглядит как "помогите выбрать ботинок, подходящий для такой вот задачи".

Как я понял ASA- это одна из СУБД. И если это так то где я написал что хочу пользоваться именно ей и что буду создавать ХП на, оказывается, корявом T-SQL??????

И вообще - суть вопроса темы не как правильно или неправильно решать какой либо вопрос. Вопрос состоит в поиске СУБД которая отвечает заявленным требованиям
24 сен 11, 23:24    [11332508]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
Прошло то всего 4 года и проблема и вопрос снова поднялся.
Может я выражаюсь слегка школьным говором озвучивая свои проблемы но постараюсь описать что конкретно нужно.
В настоящий момент есть программа которая связывается с БД Access. Сама база по средством запросов получает данные с главного сервера. Для обработки данных в СУБД есть процедуры которые написаны на VBA. Вот именно в данных процедурах сейчас и проблема так как они работают только там где установлен Access. а он не везде и установить его там нельзя.
Задача - найти альтернативную СУБД которая также как и аксес не требовала установки для обращения к ней и работы с данными в ней но при этом не требовала дополнительных установок для работы внутренних процедур.
Как я понял MS SQL Express LocalDB все равно требует установки самого экспресса.
Compact 4.0 - может работать только с VS (как я понял может я и не прав)
Спасибо заранее за помощь
12 ноя 15, 00:24    [18403547]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
MaxFM,

Вы бы более конкретно задачу описали. Что за данные, почему они каждый раз нужны на новом сервере? У мння ощущение что вы что то не то задумали
12 ноя 15, 00:43    [18403600]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54818

MaxFM
есть процедуры которые написаны на VBA

Это vendor lock. Этими процедурами Вы себя безвылазно приковали к Аксессу. Выхода нет.

Posted via ActualForum NNTP Server 1.5

12 ноя 15, 00:57    [18403633]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
DriveSoft
Member

Откуда:
Сообщений: 224
MaxFM,

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


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


также поддерживается MySQL
12 ноя 15, 03:23    [18403800]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
MaxFM, за 4 года могли бы и переписать на VB.NET.
12 ноя 15, 08:36    [18403996]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Зимаргл
Guest
VBA не работает без установки - значит от него придется отказаться.
VB.NET тоже потребует поставить .net (хотя можно взять такую версию, которая уже есть)

Вопрос - на чем переписать и где хранить результаты.
1. Переписать на любом скриптовом или компилируемом языке, который имеет доступ к Informix, начиная от shell, tcl, vbscript, c, python и заканчивая внутренним xSQL п2.(поддерживается в ASA, Firebird)
2. Хранить или просто в файле и обрабатывать все в памяти или, если обработки сложные и данных на клиент выбирается много - в ембеддед СУБД. Можно в sqlite, dbf, bdb, h2, hsqldb - их миллион.
12 ноя 15, 12:07    [18405233]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Диклевич Александр
Member

Откуда:
Сообщений: 612
MaxFM,

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

Все бесплатно и не потребует таких уж усилий.
12 ноя 15, 12:17    [18405317]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
Всем спасибо за участие. поясню ситуацию. Да, действительно все из-за этих процедур VBA. Но без них я не могу вызвать запросы на добавление. Вот тексты
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
INSERT INTO notloadData (...)
SELECT ...
FROM ...
GROUP BY ...
HAVING ...
ORDER BY ...


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

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

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
INSERT INTO t_RP ( ...)
SELECT ...
FROM ...
WHERE (...);

Запрос QA_Loadrez1
INSERT INTO ... ( ...)
SELECT ...
FROM ...
WHERE (...);


Запрос QA_Loadrez2
INSERT INTO ... ( ...)
SELECT ...
FROM ...
WHERE (...);


Запрос QD_loadRP
DELETE ...
FROM ...
WHERE ...


Запрос QD_loadrez
DELETE ...
FROM ...
WHERE ...


я не нашел способа эти запросы исполнять из программы. пришлось через VBA.
Делаю так
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;


Если есть способ выполнять данные запросы по-другому пожалуйста подскажите. Я так и не смог найти. Спасибо
12 ноя 15, 23:40    [18409619]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
MaxFM,

Я бы все таки посоветовал еще раз написать что же за задачу Вы решаете. Зачем исполнять эти скрипты? Почему нельзя все данные грузить на один сервер и там их обрабатывать?
У меня ощущение что Вы просите совета где лучше купить веревку и мыло
13 ноя 15, 00:08    [18409692]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4510
MaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...
13 ноя 15, 09:30    [18410355]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
SergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.
13 ноя 15, 13:01    [18411709]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
DOSS
Member

Откуда: Н . Новгород - Дзержинск
Сообщений: 1918
Ещё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.
13 ноя 15, 13:08    [18411745]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Volochkova
Member

Откуда:
Сообщений: 2321
DOSS
Ещё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.


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

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на C# + Compact ( Express Local)
13 ноя 15, 13:13    [18411774]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
Sergey Orlov
MaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...

Немного не понял - это набор компонент или доп. Провайдер вместо MS jet 4.0 который надо до установить на клиенте?
13 ноя 15, 13:28    [18411878]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
Volochkova
DOSS
Ещё и паскаль в придачу.
Напрашивается платформа 1с 8, которая поддерживает несколько СУБД, а также может работать и локально.
Конечно для вашего проекта с использованием паскаля и бейсика это не подходит, но может для будущих проектов, 1с подойдёт.


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

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на C# + Compact ( Express Local)

То есть Вы считаете что переписать проект с делфи на с# на котором никогда не писал... Это проще?
13 ноя 15, 13:32    [18411917]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
MaxFM
SergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.
Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.
13 ноя 15, 13:46    [18412025]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Зимаргл
Guest
MaxFM
Volochkova
пропущено...


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

Автору все что требуется - взять Студию Экспресс( сейчас комьюнити) и переписать на 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 он еще присутствует.
13 ноя 15, 14:28    [18412318]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
SergSuper
MaxFM
SergSuper,

В принципе так и происходит! Данными скриптами я вызываю запросы на добавление которые с сервера заканчивают данные на локальную базу. Почему не делать все на сервере- нельзя . не знаю как объяснить. Нельзя создавать своих таблиц,.нельзя менять данные. Вот загружайте на свою БД и обрабатывайте как хотите. Обработка данных это сильно сказано- выставление признаков каждой записи из списка, изменение числовых полей. Изменения минимальны но в таблицах сервера этого делать нельзя. Вот и приходиться выгружать и локально с данными работать.
Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.

Так в принципе это и реализовано- БД на аксесе является тем самым другим сервером который загружает с основного сервера и к которому потом подключается программа-клиент.
Есть ли возможность выполнить запрос на добавление что я выше описал из программы? Если да то тогда необходимость в функциях на vba отпадает и вопрос закроется
13 ноя 15, 14:52    [18412488]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
MaxFM
SergSuper
пропущено...
Раз нельзя делать на каком-то определенном сервере - сделайте один другой сервер и обрабатывайте данные на нем. Я не увидел причин почему надо обрабатывать локально.

Так в принципе это и реализовано- БД на аксесе является тем самым другим сервером который загружает с основного сервера и к которому потом подключается программа-клиент.
Есть ли возможность выполнить запрос на добавление что я выше описал из программы? Если да то тогда необходимость в функциях на vba отпадает и вопрос закроется
извиняюсь, Вы вообще представляете как работает архитектура клиент-сервер? все запросы выполняются на сервере, клиент их только посылает.
функции vba вообще непонятно зачем нужны
судя по скриптам которые Вы привели похоже программировать вообще ничего не надо, SSIS всё это умеет
13 ноя 15, 15:48    [18412917]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
MaxFM
Member

Откуда:
Сообщений: 114
SergSuper,
А я не говорю что мне жизненно необходимы эти функции. Но я не смог иными способами из своей программы отправить команду на выполнение запроса на добавление что сохранён в БД.
13 ноя 15, 16:15    [18413124]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Зимаргл
Guest
MaxFM,

Выполнить select from один сервер into 2й сервер нельзя.
Придется скопировать себе выборку в свою базу примерно так
http://www.celticwolf.com/blog/2010/12/11/copy-data-between-databases-in-net-with-a-dataset/
13 ноя 15, 17:11    [18413482]     Ответить | Цитировать Сообщить модератору
 Re: Альтернатива MS Access  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4510
MaxFM
Sergey Orlov
MaxFM,
начнем с того, что существует AccessDatabaseEngine, поищите его на микрософте...

Немного не понял - это набор компонент или доп. Провайдер вместо MS jet 4.0 который надо до установить на клиенте?

Это runtime, т.е. без конструктора, чисто интерпритатор базы... Есть и 64-битовый...
13 ноя 15, 17:43    [18413675]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить