Я устанавливаю виртуальную машину с Windows 2003 Web Edition с ColdFusion 9 и SQL SERVER 2005 Express. Я импортировал и прикрепил базы данных из двух файлов, и я могу правильно использовать их из SSMS.
Следуя инструкциям, я создал системный DSN, подключающийся к серверу MYSERVERNAME \ SQLEXPRESS, комбинированный доступ Windows Authentication \ SQL Authentication и так далее. Я проверил соединение в конце процесса, и тест прошел успешно. Затем я включил TCP-соединение на lanip + localhost, а также на порт 1433.
Наконец, я перешел на панель администрирования ColdFusion и создал новый dsn с помощью драйвера Microsoft SQL, установил имя dsn, имя базы данных, а затем имя сервера на MYSERVERNAME \ SQLEXPRESS. Я использовал (по крайней мере, на данный момент) учетные данные sa. Вот и неприятности:
Использование MYSERVERNAME \ SQLEXPRESS вызывает исключение java, которое сообщает мне, что экземпляр недействителен или не запущен:
java.sql.SQLNonTransientConnectionException: [Macromedia][SQLServer JDBC Driver]The requested instance is either invalid or not running.
То же исключение, если я использую 127.0.0.1 \ SQLEXPRESS. НО, если я использую 127.0.0.1, dsn не вызовет исключения, и более того, я могу получить доступ к базе данных, но некоторые запросы вылетают, сообщая мне (не может быть точной ошибкой, потому что я перевел ее с моего родного языка):
Error Executing Database Query. [Macromedia][SQLServer JDBC Driver][SQLServer]Could not login with username 'sa'.
Путешествуя по сети, я нашел руководство, в котором мне предлагается загрузить драйвер Microsoft sqljdbc и поместить его в каталог WEB-INF холодного слияния, а затем:
URL-адрес JDBC: jdbc: sqlserver: // {имя сервера} \ sqlexpress: 1433
Класс драйвера: com.microsoft.sqlserver.jdbc.SQLServerDriver
Имя драйвера: SQL Server 2005 JDBC
Это приводит к ошибке:
Error Executing Database Query. [Macromedia][SQLServer JDBC Driver][SQLServer]Could not login with username 'sa'.
Где может быть проблема? Если вам нужна дополнительная информация о системе, я отправлю их, просто дайте мне знать.
вам не нужен sqljdbc от MS. Ошибка просто говорит, что не может войти в систему, используя sa и пароль. Так что просто измените учетные данные на то, что вы можете войти в систему самостоятельно, используя MS SQL Server Management.
Ответ заключался не в конфигурации ColdFusion, а в самом веб-сайте, на котором есть 2 файла Application.cfm.