Какую технологию баз данных использовать для устаревших приложений? - PullRequest
0 голосов
/ 07 октября 2009

Я ищу совет. Я знаю, что stackoverflow любит "отвечающие" вопросы, надеюсь, что это так.

У меня есть большое устаревшее (Windows) приложение, использующее проприетарную (ISAM) базу данных. Я хотел бы изучить вопрос о переходе на использование базы данных SQL: в первую очередь MS SQL Server, я бы не отказался от гибкости Oracle, но это всего лишь «было бы неплохо» и, вероятно, не должно сильно влиять на решение.

Приложение написано на C / C ++ / MFC, не управляемое. На этом этапе я очень стараюсь «прототипировать» первоначальную попытку решения. Мне бы хотелось, чтобы это не было слишком сложным, его можно уточнить, если весь процесс выглядит так, как будто он куда-то идет.

Кандидаты, которых я вижу:

  • ODBC
  • OLEDB
  • ADO.NET

из которых, я думаю, я узнал, что в настоящее время я предпочитаю OLEDB, а не ODBC. Я знаю ADO.NET, но не знаю других. Однако ADO.NET потребует от меня использования .NET / CLR / управляемого кода из приложения, чего в настоящее время он не делает.

Любой совет, по какому пути идти? Скорость / простота прототипирования приветствуется, хотя, очевидно, если я знаю, что для окончательного решения потребуется другой метод доступа, начинать с другого может быть глупо. (Я был бы признателен, если бы мне не советовали переделывать / переписывать все приложение.)

Ответы [ 2 ]

3 голосов
/ 07 октября 2009

Я бы не использовал ADO.NET, если вы не собираетесь переключать все на управляемый код (что звучит довольно маловероятно).

Это оставляет ODBC и OLEDB.

ODBC - открытый стандарт, но OLEDB - более современный дизайн. Учитывая, что ваша программа, вероятно, никуда не денется, я бы предложил OLEDB.

Примечание: Фактическая база данных, которую вы используете, не должна иметь большого значения в этом решении. Все вышеперечисленное прекрасно поддерживает SQL Server и Oracle (и в более ограниченной степени Sybase, DB2, UDB и т. Д.).

1 голос
/ 07 октября 2009

Я бы порекомендовал ODBC, поскольку он имеет довольно простой API и объектную модель. OLEDB более сложный и требует крутой кривой обучения.

Если бы вы делали полную переписывание с нуля, я бы порекомендовал ADO.NET, но для устаревшей миграции вы захотите сделать ее простой.

...