Проблема с добавлением datasource в Coldfusion 8
Родион Быков - 01/15/2008
Суть проблемы: один из сопутствующих сервисов (служб Windows) Coldfusion - ODBC Service - при инсталляции сервера Coldfusion 8 "встает криво" и не работает.
Простое решение: использовать datasource типа MS Access with Unicode
Хорошее решение: Нужно деинсталлировать сервис и установить его снова. Саму колду переустанавливать не надо - только один этот сервис. Это можно сделать простым cfml-скриптом. Для этого используются особые Coldfusion-компоненты (CFC) которые инкапсулируют работу с Coldfusion Administrator непосредственно из CFML-скрипта.
Итак: шаг 1 - удаляем ODBC Service
<cfscript>
// создаем объект Администратора и логинимся
createObject("component","cfide.adminapi.administrator").login("password");
// создаем объект Datasource
myObj = createObject("component","cfide.adminapi.datasource");
// удаляем ODBC Services
writeOutput("Removing ODBC Services...<br>");
returnValue = myObj.removeODBCservice();
writeOutput("ODBC Services removed<br>");
</cfscript>
Шаг 2 - перезагружаем Windows - чтобы помеченный к удалению сервис (служба Windows) действительно удалился
Шаг 3 - создаем ODBC Service снова
<cfscript>
// создаем объект Администратора и логинимся
createObject("component","cfide.adminapi.administrator").login("password");
// создаем объект Datasource
myObj = createObject("component","cfide.adminapi.datasource");
// создаем ODBC Services
writeOutput("Installing ODBC Services...<br>");
returnValue = myObj.installODBCservice();
writeOutput("ODBC Services installed");
</cfscript>
После этого Coldfusion Administrator будет создавать MS Access и ODBC датасорсы без проблем.