API схемы базы данных - PullRequest
       19

API схемы базы данных

2 голосов
/ 06 сентября 2011

Я ищу инструмент, который предоставляет API (предпочтительно .Net) для запроса схемы нескольких платформ баз данных.Я создаю часть программного обеспечения, которая будет принимать объектную модель, возвращенную из такого инструмента, а затем анализировать схему и предоставлять настраиваемый построитель запросов - я бы предпочел не писать инструмент анализа схемы, если я могу избежать этого.

В идеале он должен иметь возможность запрашивать все основные платформы баз данных, включая MSSQL, Oracle, DB2, MySQL и, возможно, даже Sybase.Red Gate Schema Compare SDK делает именно то, что мне нужно, но только для MSSQL.

Кто-нибудь сталкивался с таким инструментом / библиотекой?

Ответы [ 2 ]

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

Я не уверен на 100%, но не будет ли проект Mono содержать код, который вы ищете? Если бы не все базы данных, я бы ожидал, по крайней мере, для некоторых из них.

0 голосов
/ 06 сентября 2011

Краткий ответ, №

Длинный ответ.

Некоторое время назад я сам искал это, но не нашел бесплатного .Net API. Все те, что я нашел, стоят денег. Я придумал два варианта

Первое - это не решение, которое я рекомендую, а вариант, если вы действительно не хотите сами писать «логику получения метаданных БД».

Визуальный построитель запросов http://www.query -objects.com / - это построитель запросов .Net с графическим интерфейсом. Вы можете купить лицензию на исходный код. Владея исходным кодом, вы можете удалить пользовательский интерфейс и создать собственный API поверх этого исходного кода. Это должно работать для MSSql, Oracle, MySql, и я думаю, любая БД, которая поддерживает ODBC.

Второе и бесплатное решение - попытаться написать его самостоятельно, используя этот учебник, например:

http://www.dotnetbips.com/articles/bcd9065e-94af-4063-8360-f916571f9872.aspx

Метод ADO.Net GetSchema, используемый здесь, должен дать вам несколько последовательный способ получения метаданных из различных баз данных, которые вы упомянули.

...