我目前正在开发一个需要通过ODBC连接获取数据库架构的项目。主要是因为源可能是Access数据库,SQL Server,Oracle等。 有了这个,我将把客户架构重新创建到SQL数据库中。
一切正常,但我无法找到检索表之间关系的方法,我在MSDN上找不到任何关于此的内容。如果无法做到这一点,那么我需要了解另一种通用方式。
提前感谢您的任何答案。
答案 0 :(得分:3)
如果您直接使用ODBC API,则可以使用API SQLForeignKeys。但是,由于您使用的是OdbcConnection对象,因此将API用于此任务将是一个痛苦的过程。好吧,就此而言,直接使用ODBC API可以完成任何工作。
修改我建议使用OdbcConnectionGetSchema和'ForeignKeys'
作为集合名称。但是,我调查了这一点,不幸的是,OdbcConnection似乎不支持该集合。
除了直接使用SQLForeignKeys(或进行特定于数据库的调用)之外,ODBC似乎不会提供一种简单的方法来收集一般的信息。如果某人能够提供一个很好的机制来回答这个问题,我会删除这个答案,因为此时它唯一的值是指出我不知道如何干净地找到这些信息。