程序员可以使用JDBC获取数据库元数据,但是使用原始JDBC API数据库元数据作为结果集返回,而不是Java对象。此外,程序员仍然负责管理资源,映射到对象结构和处理异常。这使得使用JDBC API在元数据方面非常麻烦。此外,JDBC API不是很一致。例如,要查找表的类型,您将查看TABLE_TYPE具有字符串值的,但对于过程,PROCEDURE_TYPE是一个整数。另一个例子是getCatalogs()调用,它返回一个只有一列的结果集,相反,getStringFunctions()它返回一个包含函数名列表的字符串,用逗号分隔。
SchemaCrawler尝试通过提供一致且可用的API来解决其中一些问题。数据库元数据以普通旧Java对象(POJO)的形式提供。SchemaCrawler API的一致性和可用性的一些示例如下:
SchemaCrawler超越了使用JDBC的可用范围,并且还可以提供有关数据库触发器,序列和同义词的信息。
SchemaCrawler也是一个Java API,它使得处理数据库元数据就像使用普通的旧Java对象一样简单。Java程序员需要访问数据库元数据
SchemaCrawler是一个免费的数据库模式发现和理解工具。SchemaCrawler具有很多有用的数据治理功能。您可以使用正则表达式 搜索数据库模式对象 ,并以可读的文本格式输出模式和数据。该输出用作用于数据库文档,并且被设计为 DIFF-ED 对其他数据库模式。SchemaCrawler还生成 架构图。 您可以针对数据库以任何标准脚本语言 执行脚本 。您可以使用 lint 找到潜在的架构设计问题。
SchemaCrawler几乎支持任何具有JDBC驱动程序的数据库,但为方便起见, 它与 一些常用的RDBMS系统的 驱动程序捆绑在一起 。SchemaCrawler适用于支持Java SE 8或更高版本的任何操作系统。
SchemaCrawler也是一个Java API,它使得处理数据库元数据就像使用普通的旧Java对象一样简单。