Connessione a database sql server express da Visual Basic 2008

mercoledì 02 aprile 2008 - 16.14

86Marco Profilo | Expert

Salve ho da poco cominciato a programmare con Visual Basic 2008 ed sql server.
Mi viene restituito un errore strano che non capisco nel momento in cui cerco di impostare la connessione al database via codice al clicl di un button.
Questo è il codice:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New SqlClient.SqlConnection
Dim strconn As String
strconn = "Data Source=.\SqlExpress:AttachDBFilename=" & "'C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Prova.mdf'" & "Integrated Security=True; Connect Timeout=3; User Instance=True"
con = New SqlClient.SqlConnection(strconn)
con.Open()
If con.State = ConnectionState.Connecting Then
Label1.Text = "Connessione stabilita"

Else
Label1.Text = "Connessione non stabilita"
End If

con.Close()
End Sub

Ma mi viene restituito questo errore segnandomi la riga di codice dove c'è scritto con.Open
Si è verificato un errore mentre si cercava di stabilire una connessione con il server. Quando ci si connette a SQL Server 2005, questo errore potrebbe essere provocato dal fatto che l'SQL Server non ammette connessioni remote sotto le impostazioni predefinite. (provider: Interfacce di rete SQL, error: 25 - La stringa di connessione non è valida)

Sapete aiutarmi?
Grazie

MarKonE Profilo | Guru

Ciao, dai un'occhiata qui : http://blogs.dotnethell.it/sandro/Abilitare-le-connessioni-remote-in-SQL-Server-2005.__3236.aspx

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/

86Marco Profilo | Expert

Salve... grazie innanzitutto per la celere risposta.... ma in questa pagina che mi hai cortesemente consiligato... c'è la risposta alla mia domanda? :D
Grazie

MarKonE Profilo | Guru

>Salve... grazie innanzitutto per la celere risposta.... ma in
>questa pagina che mi hai cortesemente consiligato... c'è la risposta
>alla mia domanda? :D

Certo ! Vai sicuro .

>Grazie

Prego.

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/

86Marco Profilo | Expert

Niente... ho provato a fare quello che c'è scritto nella pagina che mi hai indicato ma adesso mi restituisce questo messaggio:

Formato della stringa di inizializzazione non conforme alla specifica che inizia all'indice 0.

Il codice è il seguente....

Dim con As SqlClient.SqlConnection
Dim strconn As String
strconn = "Data Source=.\SQLEXPRESS:AttachDBFilename=" & _
"'C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Prova.mdf';" & _
"Integrated Security=True; Connect Timeout=30; User Instance=True"
con = New SqlClient.SqlConnection(strconn)
con.Open()
MsgBox(con.State)
con.Close()

Per quale motivo???
Vi prego aiutatemi...:(
Grazie

86Marco Profilo | Expert

Appsto tutto fatto.. avevo solo un : al posto di un ;

Grazie ;-)

86Marco Profilo | Expert

Ciao, la stringa di sopra funziona alla perfezione... sapresti dirmi invece come trasformare la stringa di connessione per far si di connettere al database sql server da remoto?
Ho gia configurato tutto da configurazioe superficie do attacco e messo la porta 1500 e aprendo il firewall di windows... ma come faccio a scrivere la stringa di connessione?
Grazie

MarKonE Profilo | Guru

Ciao, prova a specificare il nome (o l'indirizzo IP) della macchina dove è in esecuzione il servizio SQL server al posto del punto "." che indica, appunto, la macchina locale.


In ogni caso un ottimo sito di riferimento per le strringhe di connessione è questo : http://www.connectionstrings.com/

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/

86Marco Profilo | Expert

E lasciare il resto invariato???
Cioè non cambiare neanche il percorso fisico del database(cioè C:\etc etc...)???

MarKonE Profilo | Guru

Ciao, le user instance accettano solamente connessioni locali.

Per connetterti in remoto puoi usare una sintassi come questa :

Server=IndirizzoServer\SQLEXPRESS;Database=myDataBase;UserID=myUsername;Password=myPassword;Trusted_Connection=False;

Per altri esempi dai un'occhiata qui : http://www.connectionstrings.com/?carrier=sqlserver2005

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/

86Marco Profilo | Expert

Ok. Considerato che non ho ancora impostato un username ed una password per il database posso ometterla?? (non so ancora proteggere con username e password) :)

quindi diciamo che la connection string cosi scritta dovrebbe andar bene?

strconn= "Server=87.56.112.xx\SQLEXPRESS;Database=Prova.mdf; Trusted_Connection=False"

Grazie mille e scusami se magari sono un po pesante... ma non ne capisco molto ancora di sql .... infatti il link che mi hai dato connectionstring.com... bhe non è che ne capisca granchè!

Infile quando digito l'IP del server non devo comunicare anche la porta???
Grazie mille ancora, sei veramente motlo gentile.

86Marco Profilo | Expert

Tanto per la cronaca:
Hoprovato la connection string di sopra e mi da il messaggio:

Si è verificato un errore mentre si cercava di stabilire una connessione con il server. Quando ci si connette a SQL Server 2005, questo errore potrebbe essere provocato dal fatto che l'SQL Server non ammette connessioni remote sotto le impostazioni predefinite. (provider: Interfacce di rete SQL, error: 26 - Errore nell'individuazione del server/dell'istanza specificata)

Sono disperato... :(
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