Схема ODBC - Как мне найти отношения? - PullRequest
4 голосов
/ 26 февраля 2011

В настоящее время я работаю над проектом, который требует извлечения схемы базы данных через соединение ODBC. Главным образом потому, что источником может быть база данных Access, SQL Server, Oracle и т. Д. После этого я воссоздаю схему клиентов в базу данных SQL.

Все работает нормально, но я не могу найти способ восстановить отношения между таблицами, и я не мог найти что-нибудь в MSDN по этому поводу. Если это не может быть сделано, тогда мне нужно знать другой общий способ сделать это.

Заранее спасибо за любые ответы.

1 Ответ

3 голосов
/ 26 февраля 2011

Если вы используете ODBC API напрямую, для этого можно использовать API SQLForeignKeys . Однако, поскольку вы используете объекты OdbcConnection, было бы болезненно использовать API для этой единственной задачи. Что ж, в этом отношении, использование ODBC API напрямую для чего-либо - большая работа.

Редактировать Я предложил использовать OdbcConnectionGetSchema с 'ForeignKeys' в качестве имени коллекции. Однако я изучил это и, к сожалению, OdbcConnection, похоже, не поддерживает эту коллекцию.

Таким образом, кроме непосредственного использования SQLForeignKeys (или выполнения вызовов, специфичных для базы данных), кажется, что ODBC не собирается предоставлять простой способ сбора этой информации в общем. Если кто-то может предоставить ответ с хорошим механизмом для этого, я удалю этот ответ, поскольку единственное значение на данный момент состоит в том, чтобы указать, что я не знаю, как правильно найти информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...