2010-11-02 11 views
10

sto usando ColdFusion con Microsoft SQL Server 2005 e in occasione ottengo questo errore:MS-SQL/ColdFusion: errore di database Mysterious Object è stato chiuso

"[Macromedia] [SQLServer driver JDBC] oggetto ha stato chiuso. "

Il traceback porta invariabilmente a una query SQL come ci si aspetterebbe, anche semplici comandi SELECT senza JOIN o parametri di input o niente di niente.

L'unica soluzione di cui ho sentito parlare finora è il riavvio di "il servizio", che posso solo immaginare si riferisce al servizio SQL Server. Ho provato a riavviare sia SQL Server che il servizio ColdFusion, ma continua a succedere in momenti casuali.

(Anche un riavvio non è una soluzione. Non si può avere pagine arbitrarie che danno messaggi di errore arbitrarie a volte arbitrari in un ambiente di produzione.)

Quando si verifica, si verifica con insistenza per qualche minuto, poi va via e potrebbe tornare in pochi secondi o minuti. Ha iniziato a verificarsi quando stavo sviluppando una porzione JavaScript della mia applicazione che non avrebbe dovuto avere nulla a che fare con il codice ColdFusion oi comandi SQL.

Le mie ricerche online sono state infruttuose finora.

Qualsiasi aiuto apprezzato.

+0

Hai provato a guardare i log SQL per vedere se riesci a scoprire cosa lo sta causando? – eapen

risposta

0

Questo succede semplicemente quando il server è sovraccarico. Non sembra esserci alcun rimedio se non il riavvio e/o la rimozione del carico dal server.

Grazie a tutti quelli che hanno risposto, comunque!

0

Il mio istinto è che avrete bisogno di guardare fuori dal vostro codice e lavorare con un DBA per indagare sulla stabilità del server del database stesso. Sembra che il servizio SQL Server sia sospeso o non risponda.

0

Come quasi tutti i software che si comportano male, il primo posto che guardo sono i driver. Si consiglia di assicurarsi che si stiano utilizzando i driver Microsoft JDBC più recenti. So che hanno migliorato le prestazioni dei loro ultimi driver, e questo potrebbe anche risolvere il problema che stai vedendo.

Se si utilizzano i driver forniti con ColdFusion, è assolutamente da aggiornare.

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

essere consapevoli del fatto che se si esegue l'aggiornamento, se si dispone di istruzioni INSERT che utilizzano SCOPE_IDENTITY() per restituire l'ID della riga appena inserita, sarà necessario in SET NOCOUNT ON; nella parte superiore di ogni istruzione INSERT per impedire a SQL Server di restituire il numero di righe inserite anziché l'ID della riga inserita.

Dan

0

C'era un bug in SQL 2K e penso 2K5, in modo tale che il sistema potrebbe pensare che era in modalità di arresto, nonostante non viene chiesto di chiudere il servizio. IIRC, ha generato un errore simile al tuo. C'era una patch per questo rilasciato il mio MS, anche se mi sembra di ricordare che si trattava di un download separato invece di una parte di MS Update.

Mi spiace essere così vago, ma è da un po 'che non mi occupo di questo problema. Spero che questo ti aiuti a iniziare, comunque.

10

Questo è vecchio, ma mi sono imbattuto in questo e ho trovato un modo per farlo senza riavviare CF.

Nell'Amministratore di ColdFusion, accedere alle origini dati e modificare quello che causa il problema. Apportare una modifica in esso, come la verifica di una casella non importante e Invia.

Ciò riconfigura la connessione e consente di funzionare. Torna indietro e deseleziona la casella (se non vuoi che sia spuntata).

Ad esempio. Ho disattivato "Abilita caratteri ASCII in alto ...". Invia invio e l'origine dati ha funzionato. Sono quindi tornato indietro e l'ho ricontrollato e invio di nuovo le modifiche.

Nessun riavvio! Ideale se si tratta di una scatola di produzione.

+0

Grazie per quel piccolo suggerimento. La stessa cosa mi è successa. – Tomalak

2

Abbiamo riscontrato questo problema con CF9 e il riavvio del servizio non è stato di aiuto. Abbiamo eliminato e ricreato il DSN incriminato nella configurazione CF e questo ha risolto il problema. Quindi se le altre soluzioni non funzionano, provalo.

Problemi correlati