Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
CONNESSIONE A DATABASE IN REMOTO
giovedì 03 giugno 2010 - 10.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
gio 3 giu 2010 - 10:51
Dopo aver sviluppato una serie di pagine ASP.NET e averle testate con successo in locale. sono arrivato al momento di testare il tutto 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.
Dopo aver inserito i dati per la ricerca da aprire sul database mi compare questa videata:
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".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
La stringa di connessione in locale conteneva questi dati
Data Source=SRV-DB01\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI
alla quale ho sostituito in data source l'indirizzo ip al posto di SRV-DB01.
Le mie domande sono tre:
1. la pagina di errore mi indica di creare una pagina html per segnalare l'errore. Posso impostarla come pagina vuota e poi mi viene ritornato lo status code dell'errore ?
2. la comparsa di questa videata di errore mi fa presupporre che non si colleghi al database è corretta la connection strings ?
3.l'indirizzo IP da scrivere è quello INTERSERVER (10. ecc...) oppure INTERNA (192. ecc...)
Grazie, Maurizio
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
gio 3 giu 2010 - 11:55
Ciao Maurizio,
>Le mie domande sono tre:
>1. la pagina di errore mi indica di creare una pagina html per
>segnalare l'errore. Posso impostarla come pagina vuota e poi
>mi viene ritornato lo status code dell'errore ?
Questa ti permette di crearti una pagine d'errore personalizzata. "Non è obbligatorio"
Imposta questo nel Web.Config per effettuare il debug e vedere dovè l'errore
<customErrors mode="RemoteOnly" />
>2. la comparsa di questa videata di errore mi fa presupporre
>che non si colleghi al database è corretta la connection strings
>?
Sicuramente sarà un problema o di autenticazione o stringa di connessione!!!
>3.l'indirizzo IP da scrivere è quello INTERSERVER (10. ecc...)
>oppure INTERNA (192. ecc...)
Se l'applicazione che hai creato dovrà funzionare tramite internet, dovi mettere IP lato WAN del server, altrimenti se in locale devi mettere IP lato LAN.
Facci sapere
------------------------
Luxsor
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
gio 3 giu 2010 - 15:21
Ho inserito la pagina html ma si limita a visualizzarla vuota. Sarà che di html non ne so niente ma come si fa a visualizzare lo status code ?
Inoltre devo utilizzare l'applicazione su internet quindi in connection strings devo utilizzare lo stesso IP pubblico che uso per navigare con le pagine ? (nel mio caso è un 89.96 ecc...)
Inoltre per quanto riguarda l'autenticazione io utilizzo in sql server 2008 un'autenticazione windows senza l'utilizzo di utente e password (in connection string metto Integrated Security=SSPI. potrebbe essere quello il problema di mancata connessione ?
Grazie per l'aiuto.
Maurizio.
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
ven 4 giu 2010 - 13:17
>Ho inserito la pagina html ma si limita a visualizzarla vuota.
>Sarà che di html non ne so niente ma come si fa a visualizzare
>lo status code ?
Naturalmente.
Questo serve solo se vuoi tu personalizzarli la pagina in caso di errore, ma non è il caso tuo.
Abilita il debug e modifica il web.config come ti ho postato.
>Inoltre devo utilizzare l'applicazione su internet quindi in
>connection strings devo utilizzare lo stesso IP pubblico che
>uso per navigare con le pagine ? (nel mio caso è un 89.96 ecc...)
Si, oltre che aprire la porta per la connessione.
------------------------
Luxsor
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 8 giu 2010 - 09:00
Scusa per il ritardo nella risposta ma sono stato impegnato. Ho provato ad aggiungere la porta (80) alla connection string ma il risultato non cambia continua a segnalare lo stesso tipo di errore.
Questa è la connection string all'interno della procedura asp.net:
Data Source=89.96.167.XXX:80\SQLEXPRESS; Initial Catalog=CASSAWEB;Integrated Security=SSPI
Grazie, Maurizio.
luxsor
Profilo
| Guru
1.079
messaggi | Data Invio:
mar 8 giu 2010 - 18:05
>Scusa per il ritardo nella risposta ma sono stato impegnato.
>Ho provato ad aggiungere la porta (80) alla connection string
>ma il risultato non cambia continua a segnalare lo stesso tipo
>di errore.
Sono andato in confusione!!!
Su quale porta è in ascolto il tuo SQL Server?
Per default è la 1433, quindi devi vedere prima comè configurato SQL Server, per poi assegnare tale porta alla stringa di connessione.
Segui questa guida:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=10971
Poi se accedi da remoto devi utilizzare un Utente SQL Server, quindi ti consiglio di creartene uno con i permessi necessari per la tua applicazione e utilizzare una stringa di connessione del genere:
Data Source=89.96.167.XXX,1433; Network Library=DBMSSOCN; Initial Catalog=CASSAWEB;user id=NOMEUTENTE; password=PASSWORDUTENTE"
NB: Su Server dove risiede SQL Server devi aprire la Porta 1433 e configurare il firewall.
------------------------
Luxsor
mauri1961
Profilo
| Senior Member
218
messaggi | Data Invio:
mar 15 giu 2010 - 17:30
ORA FUNZIONA !!! ho inserito in sql server utente e password, ho messo la porta (era la 1434) e si collega senza problemi...
grazie, Maurizio
Torna su
Stanze Forum
Elenco Threads
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 !