Я co-taught проект разработки высшего уровня бегу свои прошлые два семестра в школе. Проект был предназначен, чтобы использоваться в продуктивной среде с локальными некоммерческими организациями как оплата клиентов. Мы должны были быть уверены, что код сделал то, к чему мы ожидали его и что студенты собирали все данные, необходимые для удовлетворения потребностей клиентов.
время Класса было ограничено, как было мое время за пределами класса. По сути, мы должны были выполнить обзоры кода на каждой встрече класса, но с 25 студентами зарегистрировался, отдельное время обзора было очень коротко. Инструментом, который мы нашли самым ценным на этих консультациях, был ERD's, диаграммы классов и диаграммы последовательности. И диаграммы классов ERD были сделаны только в Visual Studio, таким образом, время, требуемое создать их, было тривиально для студентов.
схемы передали большую информацию очень быстро. При наличии быстрого обзора проектов студентов мы могли быстро изолировать проблемные области в их коде и выполнить более подробный обзор на месте.
, не используя схемы, мы должны были бы не торопиться для движения один за другим через файлы кода студентов, ища проблемы.
Для преобразования в Oracle вы можете попробовать Migration Workbench .
И что еще более беспокоит, так это то, что базы данных поддерживают различные механизмы блокировки, поэтому вы можете получить там некоторые таблицы и индексы, но вы можете ввести некоторые проблемы, которые очень трудно отлаживать / реплицируйте, когда вы выставляете его на произвол судьбы.
Вам нужно как 3 эксперта, чтобы разобраться в этой партии - по одному в SQL Server, MySQL и Oracle. Эта или ваша база данных должна работать максимум с одним пользователем, с низкой производительностью и очень средними механизмами базы данных.
Извините ...
Я не знаю преобразователя синтаксиса программирования ядра СУБД. Однако, поскольку вы работаете на платформе с несколькими базами данных, я бы подумал об использовании Enterprise Library и ее блока приложений. Это избавит вас от головной боли, вы должны мне доверять!
Я знаю, что у вас, возможно, недостаточно времени для ваших будущих выпусков, поэтому вам придется настраивать скрипты вручную, но сделайте себе одолжение и подумайте об использовании Корпоративная библиотека Microsoft.
Другой возможный способ - максимально приблизить эти двигатели друг к другу по подобию, чтобы вам было удобнее работать с тремя из них. Таким образом, это требует от вас анализа и решения, какую функцию следует создавать, где и почему? Это тяжелая работа, серьезно.
По моему собственному опыту, я больше не занимаюсь разработкой без Enterprise Library, по крайней мере, без блока приложения данных (DAAB).
Вот ссылка:
Сообщите мне, помогло ли это вам. Если вам нужна дополнительная помощь в настройке уровня доступа к данным с помощью Enterprise Library, дайте мне знать.
РЕДАКТИРОВАТЬ 2015.01.16
Другой лучший подход в наши дни - использование либо NHibernate , либо Entity Framework или другие инструменты ORM, подобные этим.
С ними больше не нужны сценарии SQL, все генерируется для вас в зависимости от конфигурации вашей СУБД.
I'm writing a patch for the application, part of which involves executing a
5000
line sql script to make modifications to the database. The script is written usingMSSQL
syntax, however I was wondering if there is an application to automatically convertingMSSQL
syntax to that ofOracle
and/orMySQL
to save me having to manually do it.
It's hardly possible.
The common subset of SQL
all these systems support is quite little.
Since you have 5000
lines of code in your script, most probably it's out of this subset.
The worst part is that it's usually not only the syntax differences, but rather major conceptual ones.
Oracle
, for instance, supports MERGE
statement which allows inserting, deleting and updating in a single query.
Neither SQL Server 2005
nor MySQL
support one.
MySQL
supports deleting from several tables at once: not available in Oracle
or SQL Server
.
SQL Server
, unlike Oracle
and MySQL
, can update CTE
's that use analytic functions.