Errore connessione con un'applicazione Windows

sabato 19 giugno 2010 - 01.15

perla0279 Profilo | Senior Member

Ciao

Sto creando con Visual Studio 2005 un'applicazione Windows molto semplice utilizzando una finestra MDI come principale.
Questa applicazione si deve connettere ad un database, richiamando store procedure.

Ho un errore nella connessione.

MDI Principale:
Dim da As New SqlClient.SqlDataAdapter
Dim ds As DataSet = New DataSet
Dim dt As DataTableCollection
Public ConnectionString As String
Public objDB As System.Data.SqlClient.SqlConnection
Public Con_Dataset As New DataSet()

Private Sub MDIMose_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim DT As DataTableCollection

DT = LoadConfiguration(Application.StartupPath + "\Config.xml")


Try
ConnectionString = System.Convert.ToString(DT("configurazione").Rows(0)("ConnectionString"))

objdb = New System.Data.SqlClient.SqlConnection
objDB.ConnectionString = ConnectionString
objDB.Open() --------------------------------------------- IN QUESTO PUNTO DA ERRORE

' Dim cmd As SqlClient.SqlCommand = New SqlClient.SqlCommand("SET LANGUAGE US_ENGLISH", objDB)
' cmd.CommandType = CommandType.Text
' cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show("Manca il collegamento con il database!", "ATTENZIONE", MessageBoxButtons.OK, MessageBoxIcon.Stop)
End
End Try
End Sub

Private Shared Function LoadConfiguration(ByVal FilediConfigurazione As String) As DataTableCollection
Dim Configuration_Dataset As New DataSet()
Try
Configuration_Dataset.ReadXml(FilediConfigurazione)
Catch ex As Exception
Throw New ArgumentException("Err. Open config.xml")
End Try
Return Configuration_Dataset.Tables
End Function


File config:
<CONFIGURAZIONE>
<ConnectionString>Data Source=USER-xxxxxxxx;Database=xxxxxx;Integrated Security=True </ConnectionString>
</CONFIGURAZIONE>


Errore:
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: Provider Named Pipes, error: 40 - Impossibile aprire una connessione a SQL Server)




Non riesco a capire, premettendo che di solito sviluppo siti internet con .aspx, e uso sempre questa connessione che funziona.....
con questo tipo di applicativo non sò dove sbattere la testa..

jd_vv Profilo | Newbie

Il server Sql è locale o remoto?
Nel secondo caso vanno verofocate le opzioni di sqlserver permettendo le connessioni remote e verificando che connessione tcpip sia attiva.
Attento che va riavviato il servizio per attivare le modifiche.
Digito ergo sum

perla0279 Profilo | Senior Member

Il server è locale.
Stò eseguendo il programma dal stesso pc dove risiede il database.

jd_vv Profilo | Newbie

Sei sicuro che il nome del server nella stringa di connessione sia corretto?
Prova a sostituirlo con l'indirizzo ip o con (locahost)
Inoltre se il server sql è express devi usare nome-server\sqlexpress



Digito ergo sum

perla0279 Profilo | Senior Member

Ci deve essere qualcosa che non funziona sulla stringa di connessione.....

Ho installato un database prova Express, l'istanza che avevo messo è USER-A8B5D484C9\SQLEXPRESS, il database è in locale sulla macchina

Non ho molta esperienza quindi non riesco a capire se è sbagliato il codice che richiama la stringa, oppure il config...

jd_vv Profilo | Newbie

io uso questa function, se vedi la sicurezza è impostata su SSPI e non a true come nel tuo caso, per il resto è tutto uguale.
Private Function GetConnectionString(ByVal strNomeSqlServer As String, ByVal strNomeSqldb As String) As String
Return "Data Source=" + strNomeSqlServer + ";Database=" + strNomeSqldb + ";Integrated Security=SSPI; Application Name = " & Application.ProductName
End Function

In alternativa esiste l'oggetto SqlClient.SqlConnectionStringBuilder che valorizzando in modo opportuno le property ti restituisce la stringa di connessione giusta

P.S.

Da SSMS riesci ad accedere al db vero?


Digito ergo sum
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