ERRORE 500 INTERNAL SERVER ERROR

martedì 08 giugno 2010 - 10.52

mauri1961 Profilo | Senior Member

Dopo aver sviluppato una serie di pagine ASP.NET e averle testate con successo in locale. riscontro dei problemi nella visualizzazione in remoto.

L'applicazione è posizionata su un nostro web server e attraverso l'inserimento dell'ip pubblico in explorer riesco a visualizzare correttamente la pagina iniziale e quella successiva che sottopone una ricerca.

I problemi iniziano a quel punto in quanto devo andare a leggere un database creato con sqlserver 2008 express infatti nel momento di leggere i dati dal database e aprire una pagina aspx mi ritorna un errore 500 INTERNAL SERVER ERROR (l'ho intercettato gestendo in system web la redirect su una pagina di errore).


La connection string al database è la seguente Data Source=89.96.167.XXX:80\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI

Grazie, Maurizio

alx_81 Profilo | Guru

>I problemi iniziano a quel punto in quanto devo andare a leggere
>un database creato con sqlserver 2008 express infatti nel momento
>di leggere i dati dal database e aprire una pagina aspx mi ritorna
>un errore 500 INTERNAL SERVER ERROR (l'ho intercettato gestendo
>in system web la redirect su una pagina di errore).
Ciao Maurizio,
così purtroppo non possiamo esserti di aiuto, devi disattivare i messaggi http brevi, altrimenti non capisci dove è veramente l'errore.
Dovresti andare sulle impostazioni avanzate del browser e togliere la check "mostra messaggi http brevi" o qualcosa di simile.
In quel modo avrai l'errore completo e potremo esserti di aiuto.

>Grazie, Maurizio
di nulla!
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Gluck74 Profilo | Guru

Potresti disabilitare momentaneamente i custom error per vedere se c'è un errore di runtime (come presumo ci sia), magari dovuto alla connection string errata.
Quindi sul web.config controlla
<customErrors mode="Off" />

Inoltre controlla anche che non ci sia la spunta in:
InternetExplorer -> menu Strumenti -> Opzioni Internet -> Scheda Avanzate -> Esplorazione -> Mostra messaggi di errore HTTP brevi


____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

mauri1961 Profilo | Senior Member

ho già disabilitato i messaggi brevi, tuttavia, per scoprire questo errore avevo gestito il customerrors in system web di webconfig in questo modo:

<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>

</system.web>
aggiungendo alcune pagine vuote con gli errori più comuni.
Infatti dopo l'invio della richiesta al database si è aperta una pagina vuota ise.aspx che avevo definito in caso di errore 500.

Se levo questa sezione in web config mi viene visualizzata questa pagina (ragione per la quale ho gestito il customerrors).


Server Error in '/' Application.
--------------------------------------------------------------------------------

Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


Grazie, Maurizio

Gluck74 Profilo | Guru

per l'appunto il messaggio di dice che c'è un errore ma non è visibile (iimpostazione di default per le connessioni remote).

Se vuoi vedere il messaggio, ovvero i dettagli dell'errore compresa l'istruzione che lo genera, devi appunto settare i custom errors OFF e togliere i messaggi brevi da internetExplorer.
Vedrai che, secondo me, è la stringa di connessione.

ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

mauri1961 Profilo | Senior Member

Avevi ragione : dovrebbe essere la connection string o un eventuale configurazione di sql server che non permette connessioni remote.

come già detto la connection string è :

Data Source=89.96.167.XXX:80\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI



A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)

Come posso intervenire ?

Grazie, Maurizio

alx_81 Profilo | Guru

>Come posso intervenire ?
leggiti questo post, dovrebbe essere di aiuto:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=10971
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Gluck74 Profilo | Guru

Ciao,
quello che misembra molto strano è la posizione dell'istanza:
89.96.167.XXX:80

la vedo difficile che sia una porta 80 a rispondere al DB.
In genere, anche se il DB fisicamente sta su una macchina diversa da dove risiede il server web, ci dovrebbe essere una "condivisione" in rete, altrimenti è difficile che i siti possano accedere ai DB.

Esempio:

Data Source=SERVER_DB_PROTETTO\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI

o anche un ip, ma non credo proprio sulla porta 80.

Ricontrolla
ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

mauri1961 Profilo | Senior Member

Vi ringrazio per l'aiuto, per quanto riguarda la connection string provo a levare la porta (è stata una mia iniziativa leggendo qua e là sul web) e provo le due opzioni con o senza ip.

Effettivamente il database è posizionato su un server (srv-db01) mentre le pagine e l'accesso alle pagine sono su srv-web01. L'accesso avviene su un unico indirizzo ip pubblico che è appunto 89.96 ecc. con una porta aperta per i siti http (80) e un'altra per gli https.

Ho letto, invece, e tentato di provare la soluzione per quanto riguarda sql server da mettere in remoto , segnalatami da alx tuttavia io ho la versione 2008 e non riesco molto a raccapezzarmi, oltretutto non vorrei fare danni.

Quanto vedo nel configuration manager è che il sqlserver express viene dato correttamente in running ma in loggato come localsystem. Temo non basti cambiare e mettere network service.

Ciao, Maurizio

Gluck74 Profilo | Guru

In definitiva la tua stringa di connessione dovrà essere:

Data Source=srv-db01\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI

però manca username e password.
Devi controllare nelle impostazioni di sqlserver e del database, qual'è l'utente che ha accesso ed aggiungere alla connection string:

Data Source=srv-db01\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI;User ID=esempioID;Pwd=esempiopwd;

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

mauri1961 Profilo | Senior Member

ok purtroppo posso provare solo domani in quanto il server web oggi lavoro da casa e il server web è temporaneamente inaccessibile. Cmq ancora grazie, e appena provo ti faccio sapere.

ciao, Maurizio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5