В JDB C не определен способ автоматического обнаружения формата URL-адреса драйвера JDB C.
Вам нужно будет самостоятельно вести реестр форматов URL JDB C (например, связан с одним или несколькими драйверами), а затем с помощью ServiceLoader
или DriverManager
найдите доступные драйверы и используйте их, чтобы определить, какие форматы URL вы можете использовать.
Помните, что JDB C позволяет несколько драйверов используют один и тот же формат URL JDB C (первый драйвер, который успешно подключается, «выигрывает»), и один драйвер может иметь более одного формата URL JDB C.
Чтобы обнаружить JDB C драйверов на classpath, вы можете использовать
ServiceLoader<Driver> loadedDrivers = ServiceLoader.load(Driver.class);
for (Driver driver : loadedDrivers) {
// do something with Driver
}
Помните, что использование for-each может быть не лучшим решением. Явное использование итератора может быть лучше, так как вы можете явно обработать брошенный ServiceConfigurationError
, если указанный драйвер c не загружается.
В качестве альтернативы, вы можете использовать
Enumeration<Driver> drivers = DriverManager.getDrivers();
И пусть DriverManager
позаботится о поиске драйверов.