2013-07-14 6 views
-2

У меня есть много видов db, некоторые - оракулы, а некоторые - MySQL, , поэтому, когда у меня есть операция о транзакции, как я могу узнать, какой db должен работать. У вас есть способы инкапсулировать их для обеспечения правильной работы? Что мне делать, чтобы направить эти транзакции на правильный дБ? У тебя есть идеи?Лучший способ для инкапсуляции оракула и mysql

+0

Сделки привязаны к соединению, и соединение связано с БД, я не уверен, чего вы хотите достичь? как я могу знать, какой db должен работать, что вы имеете в виду? – zerocool

+0

да, вы правы. Но типов БД много (orace, mysql, Sybase и т. Д.), И каждая БД имеет много dbs, если вы хотите использовать некоторый db, вам нужно написать одно соединение, это слишком большое! поэтому я хочу знать, как можно разработать это решение? Может быть, у меня плохое выражение! –

ответ

1

Переносимость базы данных - отличная цель для достижения цели и вполне достижимая для стандартных & даже в сложных бизнес-приложениях.

Практически, есть два основных вопроса:

1) Некоторые базы данных (Oracle) имеют нестандартную DDL, особенно типов данных. Это можно легко преобразовать с помощью поиска и замены.

2) Генерация идентификатора/первичного ключа должна быть переносной; это исключает последовательности & автогенерированных столбцов. Вместо этого используйте таблицу распределителя, которая может быть полностью переносимой, а также значительно более эффективной.

Использование слоя сохранения (например, Hibernate) помогает изолировать несколько других различий. У меня был очень хороший успех, даже делая крупные приложения &, исходя из крупного проекта миграции и реорганизации, переносимого из Oracle в MySQL.

Смежные вопросы