MS-SQL/ColdFusion: ошибка таинственной базы данных: объект закрыт

Я использую ColdFusion с Microsoft SQL Server 2005, и иногда я получаю эту ошибку:

"[Macromedia] [Драйвер JSBC SQLServer] Объект закрыт."

Отслеживание неизменно приводит к SQL-запросу, как и следовало ожидать, даже простым командам SELECT без JOIN или входных параметров или вообще что-либо фантастически.

Единственное решение, о котором я до сих пор слышал, это перезапустить "службу", о которой я могу только представить, относится к службе SQL Server. Я попытался перезапустить SQL Server и ColdFusion Service, но он все равно продолжает происходить в произвольные моменты времени.

(Также перезапуск не является решением. Нельзя произвольно создавать произвольные сообщения об ошибках в рабочей среде.)

Когда это происходит, оно происходит настойчиво в течение нескольких минут, затем уходит и может вернуться через несколько секунд или минут. Это началось, когда я разрабатывал часть JavaScript для моего приложения, которая не должна иметь ничего общего ни с кодом ColdFusion, ни с командами SQL.

Мои поисковые запросы в Интернете до сих пор были бесплодными.

Любая помощь была оценена.

Ответ 1

Оказывается, это происходит, когда сервер перегружен. Кажется, что нет никаких средств, кроме перезапуска и/или удаления нагрузки с сервера.

Спасибо всем, кто ответил, во всяком случае!

Ответ 2

Это старый, но я просто столкнулся с этим и нашел способ сделать это, не перезагружая CF.

В ColdFusion Administrator перейдите в Источники данных и отредактируйте тот, который вызывает вашу проблему. Внесите изменения в него, например, проверите неважный блок и отправьте.

Это приведет к перенастройке соединения и позволит ему работать. Вернитесь и снимите галочку (если вы действительно не хотите, чтобы она была отмечена галочкой).

Например. Я отключил "Включить высокие символы ASCII...", нажал submit и работал источник данных. Затем я вернулся и проверил его обратно и снова представил изменения.

Нет перезагрузки! Идеально, если это производственная коробка.

Ответ 3

Мы столкнулись с этой проблемой с CF9, и перезапуск службы не помог. Мы удалили и воссоздали оскорбительное DSN в конфигурации CF, и это решило проблему. Поэтому, если другие решения не работают, попробуйте попробовать.

Ответ 4

Мой инстинкт кишки состоит в том, что вам нужно будет смотреть за пределы своего кода и работать с администратором баз данных, чтобы исследовать стабильность самого сервера базы данных. Похоже, что служба SQL Server висит или становится невосприимчивой.

Ответ 5

Как и все программное обеспечение, которое плохо работает, первое, что я смотрю, это драйверы. Вы можете быть уверены, что используете новейшие драйверы Microsoft JDBC. Я знаю, что они улучшили производительность своих последних драйверов, и это также может решить проблему, которую вы видите.

Если вы используете драйверы, поставляемые с ColdFusion, это абсолютно необходимо для обновления.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a737000d-68d0-4531-b65d-da0f2a735707&displaylang=en

Помните, что если вы обновляете, если у вас есть инструкции INSERT, которые используют SCOPE_IDENTITY(), чтобы вернуть идентификатор вновь вставленной строки, вам нужно установить SET NOCOUNT ON; в верхней части каждого оператора INSERT, чтобы предотвратить возврат SQL Server из числа вставленных строк вместо идентификатора вставленной строки.

Dan

Ответ 6

В sQL 2K произошла ошибка, и я думаю, что 2K5, так что система будет думать, что она находится в выключенном режиме, несмотря на то, что ее не просят закрыть службу. IIRC, он выбросил ошибку, подобную вашей. Был патч для этого выпустил мою MS, хотя, похоже, я помню, что это была отдельная загрузка, а не часть MS Update.

Извините, что я так расплывчата, но прошло некоторое время с тех пор, как я столкнулся с этой проблемой. Надеюсь, это поможет вам начать работу.

Ответ 7

Восемь лет спустя я получаю эту ошибку в CF 11. Она начинается, когда в SQLServer происходит загрузка данных. Я просто подожду.