Connessione remota a Sql Server 2008 da pagina web

domenica 10 aprile 2011 - 00.11
Tag Elenco Tags  .NET 3.5  |  Visual Studio 2010  |  SQL Server 2008 R2

mischiri Profilo | Newbie

Ciao,
ho il seguente problema :
ho configurato un sql server 2008 per le connessioni in entrata, su una determinata porta, ho visto in giro come si fa e adesso dal mio pc tramite sql managment studio riesco ad accedere all'istanza del db (dopo non poche capocciate al muro ovviamente!! :) )

pubblico quindi una pagina asp.net che deve collegarsi a questo database mediante una connessione simile a questa :

Persist Security Info=False;Initial Catalog=MioDb;server=123.123.123.123\SQLEXPRESS2008,1234;Packet Size=32767;User ID=sa;Pwd=pippo;Network Library=dbmssocn"/>

Network Library=dbmssocn sta a significare via TCP/IP

e la connessione non va, sempre impossibile accedere al server remoto, verificare le impostazioni e che il db accetti le connessioni remote.....

ho fatto ovviamente 50.000 prove cambiando un parametro, cambiando stringa (c'è un'altra versione che funziona pure) e nada...

sto iniziando quindi a pensare che il problema è su Register, ovvero, non so per quale motivo, potrebbero bloccare le connessioni a Sql Server esterni.... è possibile?

Grazie
Michele


aabruzzese Profilo | Junior Member



Ciao,

Ci sei provato con "Integrated Security=SSPI" ed anche qual errore ti resulta?

Angelo

Angelo Abruzzese

mischiri Profilo | Newbie

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: TCP Provider, error: 0 - An attempt was made to access a socket in a way forbidden by its access permissions.)

questo è l'errore.. con il parametro che mi hai scritto è la stessa cosa.

aabruzzese Profilo | Junior Member

Ciao

Sto cercando perche sul mio PC o SQL 2008 R2 e non Express edtion.

CMQ guarda questa pagina che mostra da a fina z di come sestimare il SQL server per un sito asp.net

http://blog.evonet.com.au/post/Setting-up-SQL-Server-2008-for-an-ASPNET-website-on-IIS-70.aspx

Ti faro sappere si trovo di pui.

Ciao
Angelo

Angelo Abruzzese

mischiri Profilo | Newbie

questa guida è ok, l'avevo vista oggi pure, ti spiega come configurare il sql server (2008 r2 e express 2008 r2 non sono diversi in questo caso)

manca qui la porta diversa che ho configurato io.... cmq per me è un discorso di webserver dell'hosting , domani faccio la prova sul mio IIS e vedo se si collega, se così fosse allora è proprio loro il problema (tant'è che ho aperto un ticket di assistenza)

grazie per disponibilità a darmi una mano
ciao
michele


appunto.... fatto la prova e da me funziona .... si collega e mi tira fuori i dati... è un problema loro... sempre che non vogliano bloccare le connessioni a db non gestiti da loro... vedremo:) grazie ancora

aabruzzese Profilo | Junior Member

A allora e un sito su un server esterno, ma tu ci riesce a farre una connesione dal tuo pc verso il Sql Server Express sul remote server?

Visto che ai apperto un problem ticket, credo che con l'oro troveria la risposta.

Ok Ciao
Angelo

Angelo Abruzzese

lbenaglia Profilo | Guru

>ho configurato un sql server 2008 per le connessioni in entrata,
>su una determinata porta, ho visto in giro come si fa e adesso
>dal mio pc tramite sql managment studio riesco ad accedere all'istanza
>del db (dopo non poche capocciate al muro ovviamente!! :) )

Ciao Michele,

Fammi capire, SSMS è installato sul web server dove hai problemi a connetterti da ASP all'istanza su Register?
Per vedere se Register ha aperto la porta TCP che hai configurato (dubito) sali sul web server, apri una shell e digita:

C:\>telnet <ip di register> <porta>

Se lo schermo "diventa nero" significa che SQL Server risponde correttamente, altrimenti otterrai un errore (il che significa che la porta lato register è chiusa dal firewall).

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

mischiri Profilo | Newbie

sql server è installato su un pc che si trova da un cliente, avendo l'ip statico ho configurato un port forwarding dal router su una porta diversa e dal sito sull'hosting di register ho configurato la connessione.

da quello che mi dici quindi dovrei lasciare la porta di default, oppure richiedere l'apertura della porta (se possibile), ma lasciando la porta di default aperta non potrebbe essere pericolosa per la sicurezza?

grazie
michele

lbenaglia Profilo | Guru

>sql server è installato su un pc che si trova da un cliente,
>avendo l'ip statico ho configurato un port forwarding dal router
>su una porta diversa e dal sito sull'hosting di register ho configurato
>la connessione.
Quindi il test l'hai eseguito su macchine diverse rispetto a quelle che ti danno il problema?
A che serve un test del genere?

>da quello che mi dici quindi dovrei lasciare la porta di default,
>oppure richiedere l'apertura della porta (se possibile), ma lasciando
>la porta di default aperta non potrebbe essere pericolosa per
>la sicurezza?
No, la sicurezza non ha niente a che vedere con la porta utilizzata da un servizio.

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

mischiri Profilo | Newbie

forse non mi sono spiegato bene

il primo test l'ho effettuato dal mio pc collegandomi al server del pc del cliente passando per il router (ip statico) e funziona correttamente da sql managment studio

in produzione, quindi sul sito web che si trova su register ho provato a collegarmi (quindi facendo puntare la pagina asp.net al sql server del pc del cliente (ip statico del router) e li non andava anche se la stringa di connessione era uguale

il database non è online, quindi non è su register, il cliente vuole in sostanza che l'utente possa inserire delle informazioni direttamente sul suo sistema interno, per far questo ho dovuto creare questa pagina e farla puntare al suo db interno

lbenaglia Profilo | Guru

>forse non mi sono spiegato bene
>
>il primo test l'ho effettuato dal mio pc collegandomi al server
>del pc del cliente passando per il router (ip statico) e funziona
>correttamente da sql managment studio
>
>in produzione, quindi sul sito web che si trova su register ho
>provato a collegarmi (quindi facendo puntare la pagina asp.net
>al sql server del pc del cliente (ip statico del router) e li
>non andava anche se la stringa di connessione era uguale
>
>il database non è online, quindi non è su register, il cliente
>vuole in sostanza che l'utente possa inserire delle informazioni
>direttamente sul suo sistema interno, per far questo ho dovuto
>creare questa pagina e farla puntare al suo db interno

Se SQL Server non è su Register allora non dovrebbe essere un problema di firewall di Register.
Il sito si trova su una vm? Hai modo di salirci in console ed eseguire la telnet?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

mischiri Profilo | Newbie

non ho modo di accedere alla macchina di register, quindi non so se è una vm oppure no.
sicuro che non possa dipendere dal firewall di register ? cioè.. se una pagina asp.net di un sito web ospitato prova a collegarsi a un db esterno su una porta diversa dalla 1433 (quella di default di sql server) potrebbero bloccarla no?

lbenaglia Profilo | Guru

>non ho modo di accedere alla macchina di register, quindi non
>so se è una vm oppure no.
>sicuro che non possa dipendere dal firewall di register ? cioè..
>se una pagina asp.net di un sito web ospitato prova a collegarsi
>a un db esterno su una porta diversa dalla 1433 (quella di default
>di sql server) potrebbero bloccarla no?
Generalmente sono bloccate le porte in ingresso, non quelle in uscita.
Se non puoi provare la telnet non so cosa dirti se non attendere la risposta del supporto.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

mischiri Profilo | Newbie

però convieni cone me che lo stesso codice con la stessa stringa di connessione impostata non può funzionare dal mio webserver in locale e non dal web...?

lbenaglia Profilo | Guru

>però convieni cone me che lo stesso codice con la stessa stringa
>di connessione impostata non può funzionare dal mio webserver
>in locale e non dal web...?
Il tuo web server risolve l'IP pubblico della macchina che ospita SQL Server?
Se la risposta è affermativa allora deve funzionare.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

Joymachine Profilo | Newbie

Ciao io ho istallato la versione free di SQL SERVER 2008 EXPRESS + ADVANTAGE TOOLS su un pc fisso a casa.
Voglio utilizzarlo come server personale e interrogarlo tramite internet anche se sono a lavoro.
Ho provato sotto la stessa rete internet e dal mio portatile se provo a collegare report builder al server mi chiede user name e password, che però non funzionano nessuno sia l'account impostato su sql server management studio. Ho anche creato un "super-utente" (nel senso che ha tutti i diritti e i permessi)...
Non mi da nessun errore, ma mi chiede sempre user name e password.
Spero mi riuscirai ad aiutare.
Saluti
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5