我需要为不同的数据库实现不同的逻辑(因为DB2和Mssql不支持regexp)。如何确定数据库供应商? (配置文件不是一个选项) 我使用Java。
答案 0 :(得分:4)
您可以使用DatabaseMetaData.getDatabaseProductName,因为这是由驱动程序供应商实现的。它将为您提供所需的所有信息。
答案 1 :(得分:0)
从open-jpa看一下DbDictionaryFactory. calculateDBDictionary(...)。
该实用程序尝试通过url和驱动程序类确定数据库,并返回适当的DBDictionary(例如OracleDictionary或MySQLDictionary)。