【发布时间】:2010-07-24 16:03:27
【问题描述】:
我需要获取流行数据库(Oracle、MySql、MSSql、DB2 等)的 db 表信息,例如列详细信息、pk/uk/check/fk 约束等。我知道每个数据库都提供了某种方式来检索架构信息。有人知道从不同数据库收集模式信息的通用方法(某种读取不同数据库信息模式并创建通用信息模式的 API)。
【问题讨论】:
我需要获取流行数据库(Oracle、MySql、MSSql、DB2 等)的 db 表信息,例如列详细信息、pk/uk/check/fk 约束等。我知道每个数据库都提供了某种方式来检索架构信息。有人知道从不同数据库收集模式信息的通用方法(某种读取不同数据库信息模式并创建通用信息模式的 API)。
【问题讨论】:
几个主要数据库(包括您列出的那些)实现 SQL 的 INFORMATION_SCHEMA 架构,它应该提供您需要的信息。我不知道每个供应商对标准的这一方面的跟踪有多密切。
【讨论】:
SQL-92 似乎定义了一个information schema。 Microsoft SQL Server、Sybase ASE、Oracle 似乎都有。
【讨论】:
很遗憾,没有统一的 API。数据库的这一方面从未被标准化,每个供应商都提供了不同的方式来访问这些数据。
您必须针对每个数据库以不同的方式实现这一点。
【讨论】: