Я использовал такую проверку в одном проекте. Код может выглядеть следующим образом (не уверен, что он будет работать в версиях ColdFusion ниже 8), рассмотрим этот пример как кусок UDF, написанный на CFScript:
// service factory object instance
factory = CreateObject("java","coldfusion.server.ServiceFactory");
// the datasource service
dsService = factory.DatasourceService;
// verify the dsn
return dsService.verifyDataSource(arguments.dsn);
О, я даже нашел небольшое примечание в коде, который я написал на моем старом ноутбуке пару лет назад:
// [performance note] this server check takes 1-3ms at local PC (Kubuntu 7.10, CF8 + Apache2, Sempron 3500+, 1GB RAM)
Хотя время кажется маленьким, я обнаружил, что выполнение этой проверки для каждого запроса не очень полезно для моего приложения . В любом случае у меня есть привычка широко использовать try / catch для обработки ошибок. Но если ваши источники данных могут часто менять, это может иметь больше смысла.