powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / А может ли ПО сразу под MS и Oracle жить?
17 сообщений из 17, страница 1 из 1
А может ли ПО сразу под MS и Oracle жить?
    #32502026
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая перспектива интересная нарисовалась:
наше ПО работает под MS, но в будущем возможно должно быть настраиваемым на уже существующую на предприятии СУБД, как минимум на
Oracle. Возможно ли это реализовать, и во что это обойдётся папаше Дорсету?
Причём это д.б. не эмулятор файл-серверной архитектуры, а полноценный клиент-сервер хотя бы с минимальным джентльменским набором (ХП,Триггеры).
Сам я ковыряюсь на MS, начинал ещё с 4.2а, хотя плотно - на 7-ке.
Про Oracle представления довольно смутные, хотя не нулевые.
Просветите меня по возможности.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502053
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Папаше Дорсету это обойдётся в переписывание бОльшей части всей системы. Ну это если есть желание получить эффективно работающий продукт. Некоторые (пальцем показывать не буду) вот изначально пишут так, чтобы работало на большинстве СУБД без изменения кода - испоользуют только самые элементарные типы данных, не используют вообще хранимый код, ну и т.п. Оно работает везде, но везде неэффективно.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502065
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Меня интересует как раз эффективное использование ХП и пр.
Насколько большой части - это можно как-то оценить?
Там тотальная несовместимость в синтаксисе T-SQL?
Или в логике локирования, диспетчеризации?
Или во всём?
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502131
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там почти полная несовместимость. 80% переписывать полностью. Учитывая настройку оптимизации - все 100%. Плюс там package, вывод селектов из ХП не так просто, как в MS. Ну и еще всякой бяки.
В общем, пишите с нуля, опираясь на то, что есть :)

-- Tygra's --
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502142
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во всём.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502181
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, весело...
Тогда попробую сформулировать вопрос иначе:
существует ли некий уровень совместимости, для поддержания которого
нужно переделывать не 80%, а в пределах допустим 30%?
Например, я не буду использовать селекты из ХП.
Но скатываться на CRecordset поверх ODBC не хотелось бы, как я отметил изначально...
Давайте на таком примере:
если я хочу перетащить проект целиком с Delphi (C++ Builder) на MS VB,
то его просто надо делать заново, т.к. основная часть формируется из визуальных компонентов.
Но если мне надо сервис, работающий с БД, с паскаля на С переписать,
то это вполне реально - SQL тот же, а синтаксис довольно легко переписывается.
Аналогии не м.б.?
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502211
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, так не получится.

авторНапример, я не буду использовать селекты из ХП

А как ты данные вытягивать собираешься? И как сейчас?

-- Tygra's --
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502262
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел в виду, что не хотелось бы использовать различные варианты рекордсетов для организации транзакций и изменений на уровне одной записи.
А для селектов их и использую, т.е. запрос типа Select, потом Fetch через драйвер. Для особо сложных расчётов - спец. таблицы заполняются, из которых потом всё равно селект. Надо учитывать, что речь идёт не об автоматизации транснациональных банков - основная часть нашего ПО достаточно отвязана от БД. Но в то же время кол-во раб. мест и быстродействие обращений к БД очень актуальны, и уже есть печальный опыт тех, кто легко сделал переносимость между MS, Oracle, InterBase.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502271
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду - селекты ты сейчас с клиента делаешь или из ХП?

-- Tygra's --
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502317
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С клиента.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502344
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда. Я даже и не представляю, как это. Как вместо ХП в 100 строк написать селект да еще на клиенте.

Ну тогда эта проблема отпадает, остальные остаются :)

-- Tygra's --
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502408
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно - работает :-))
От сложности селектов зависит, и потом я учитывал, что задача переносимости может вылезти.
Спасибо за просвещение, хотя оно и не очень радостное.
Инфу по моему вопросу где-нибудь ещё можно нарыть?
Я понимаю, что здесь никому не интересно трактат писать по технологии перехода с одной БД на другую...
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32502828
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кис Флагман живет.
www.flagman.com.ru

Cистема разработана на Centura Team Developer, и первоначально
работала Centura SQL Base, сейчас на : MS SQL и ORACLE,

Сделано интересно, но скорость хождения через ODBC оставляет желать лучшего.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32503531
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все зависит от того как приложение написано. Если в него жестко зашита зависимость от определенной СУБД, то тогда проще приложение заново написать. Особенно если значительная часть бизнес-логики в базе (ХП) и логика собственно приложения более-менее тривиальна.

Я всвое время работал над системой которая жила под Информиксом, Ораклом, DB2. И все пучком. Просто логика была сконцентрирована в middle tier, и вся логика сильно зависимая от БД была выделена в отдельный модуль. Картинка такая:

(1) Интерфейс -> (2) Логика приложения независимая от БД -> (3) API - интерфейс модуля логики зависимой от БД -> (4) модуль зависимый от БД -> (5) собственно БД

Соответственно версии продукта под разные СУБД отличались друг от друга (4) и (5). С интерфейсом (3) пришлось основательно помучаться. Зато система одинаково хорошо работает с разными СУБД, так как с каждой СУБД она общается с помощью кода специально оптимизированного под нее.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32503554
Фотография www.fun4me.narod.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если _все_ обращения к базе сделать _только_ через хранимые процедуры в ODBC - тогда гарантированно потребуется переписать только хранимые процедуры без переписывания какой-бы ни было клиентской части.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32503871
Pi-Men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ЗлОй:

И зависимый от БД модуль (4) для каждой из перечисленных БД переписывался
на 100% ?

По поводу какую часть переписывать (клиентскую, серверную):

Мне кажется, что в контексте этой проблемы можно как раз делить код между
этими частями т.о. чтобы добиться лучшей переносимости, определив ограничения, конечно - быстродействие в основном.
...
Рейтинг: 0 / 0
А может ли ПО сразу под MS и Oracle жить?
    #32505219
Зл0й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модуль (4) переписывается на 100%. Печально, но факт. Теоретически можно разделить его на переносимую часть и непереносимую часть (специфичную к СУБД). Обычно это неоправдвнно, так как из-за существенных различий в семантике обработке транзакций непереносимая часть получается процентов 70-80. А городить огород с тестированием переносимости из-за 20% кода неоправданно.

Самое главное - разработать грамотный API модуля который в базу лезет. И сконцентрировать бизнес-логику с левой стороны этого интерфейса, а детали разработки связанные со спецификой СУБД - с правой стороны. Сказать это легко, а вот исполнить - сложнее. В случае простейшего приложения за API вполне сойдет ODBC/JDBC а за модуль (4) хранимые процедуры. В случае нетривиального приложения это не сработает - вылезут различия в реализации ODBC/JDBC и и реализации возврата данных из ХП.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / А может ли ПО сразу под MS и Oracle жить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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