Connessione ad sqlserver express dall'esterno.

mercoledì 02 aprile 2008 - 20.35

86Marco Profilo | Expert

Salve.
Devo creare una piccola applicazione che si interfacci con un database sql server 2005 express.
Riesco a connettermi correttamente al database che si trova sullo stesso computer dove creo l'applicazione tramite la semplice stringa di connessione...
Ma quello che mi serve è un po + diverso.
devo installare su un computer che fungerà da server l'sql express 2005 che sarà ubicato in una dei due punti vendita che dovranno utilizare il database.
Ho quindi la necessità di far comunicare i computer dell'altra sede (nei quali installerò il software creato con visual basic 2005 express)con il database.
Come posso fare?
Sapreste espormi il problema dettagliatamente se è possibile?
Grazie tante per la disponibilità immensa nel rispondere...:D

lbenaglia Profilo | Guru

>devo installare su un computer che fungerà da server l'sql express
>2005 che sarà ubicato in una dei due punti vendita che dovranno
>utilizare il database.
>Ho quindi la necessità di far comunicare i computer dell'altra
>sede (nei quali installerò il software creato con visual basic
>2005 express)con il database.
>Come posso fare?
Perché il db deve risiedere nella sede A e l'applicativo nella sede B?

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

86Marco Profilo | Expert

Allora forse mi sono un po spiegato male :-)
Ti illustro nuovamente la situazione:

L'Azienda per cui fare questo programma ha due sedi (a e b).
Entrambe le sedi devono poter riuscire a comunicare con lo stesso server in cui gira il database, per cui il pc principale deve essere ubiato da qualche parte o nella sede a o nella sede b ad ogni modo una delle due sedi deve pioter comunicare con il database che si trova nell'altra sede...

Scusa per la confusione.
SPero sia stato + preciso adesso.
Grazie per l'in teressamento, spero di ricevere risposta.
Grazie ancora

lbenaglia Profilo | Guru

>L'Azienda per cui fare questo programma ha due sedi (a e b).
>Entrambe le sedi devono poter riuscire a comunicare con lo stesso
>server in cui gira il database, per cui il pc principale deve
>essere ubiato da qualche parte o nella sede a o nella sede b
>ad ogni modo una delle due sedi deve pioter comunicare con il
>database che si trova nell'altra sede...

Che connessione esiste tra le due sedi?
Una HDSL dedicata?
In tutti gli altri casi ti sconsiglio fortemente una soluzione del genere se non vuoi andare incontro a problemi di performance dalla sede che accede al db remoto, dovuti alla lentezza/elevata latenza della rete.
Inoltre dovresti prevedere di stabilire connessioni VPN onde evitare che chiunque possa "vedere" l'istanza e provare a "bucarla".

In questi casi è opportuno utilizzare degli scenari di replica.
Si tratta di un argomento molto vasto e non semplice, che richiede una attenta analisi e progettazione sia dell'applicazione che della base dati.

Prenditi una settimana di ferie ed inizia a studiare approfonditamente l'argomento sui Books Online:
http://msdn2.microsoft.com/en-us/library/ms151198.aspx

>Grazie ancora
Prego.

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

86Marco Profilo | Expert

Ciao.
Ho provato a spostare il file mdf sul server e ho provato a connettermi allo stesso database dove aver fatto dialogare i due computer tramite vpn...
il database da risorse di rete me lo apre tranquillamente mentre se lo voglio aprire da codice (vedi sotto) mi dice impossibile aprire il database... ma per quale ragione?
Grazie


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Try
'Dim con As SqlClient.SqlConnection
'Dim strconn As String
strconn = "Data Source=.\SQLEXPRESS;AttachDBFilename=" & _
"\\80.182.69.xxx\db\Prova.mdf" & _
";Integrated Security=True; Connect Timeout=30; User Instance=True"

con = New SqlClient.SqlConnection(strconn)
con.Open()
StatusBar1.Text = "Connesso a " & con.Database
Catch ex As Exception
StatusBar1.Text = "Impossibile trovare il database a cui connettersi"
Finally
End Try
End Sub

lbenaglia Profilo | Guru

>Ho provato a spostare il file mdf sul server e ho provato a connettermi
>allo stesso database dove aver fatto dialogare i due computer
>tramite vpn...
>il database da risorse di rete me lo apre tranquillamente mentre
>se lo voglio aprire da codice (vedi sotto) mi dice impossibile
>aprire il database... ma per quale ragione?
Vedi l'altro thread.

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5