Ciao a tutti,
Mi è capitato un problema molto strano con la connessione ad un database MS Sql Server,
stò sviluppando un sito web in asp.net che appunto deve connettersi a questo database
che si trova in remoto, e per questo, la persona che gestisce il database mi ha inviato,
oltre a user e pass, anche un file .adp, un progetto di MS Access che mi permette da
remoto di avere un'interfaccia verso il database con cui posso creare, cancellare e
modificare dati e tabelle.
C'è da dire che non ho molta esperienza su Sql Server comunque, ho creato un
nuovo progetto con MS Visual Studio 2003 ed ho cominciato a fare qualche prova da
locale, utilizzando sia una connessione oledb, una odbc e poi una sqlclient ed tutti i tipi di
connessione funzionano.
Allora ho pubblicato qualche pagina del sito per provare la connessione tra in dominio
remoto ed il server sql e quì e successo il guaio perchè mi ritorna un messaggio di server sql
non trovato o accesso negato, cosa molto strana, allora ho provato a pubblicare su un'altro
dominio diverso da quello di prima e cosa altrettanto strana, da quì indovinate un po',
funziona perfettamente, a questo punto non so che fare oltre a contattare la persona che
gestisce il server, ho pensato di aprire un questo post.
Questo è il codice che uso per le connessioni:
Connessione OleDB
Private Sub ButtonAccedi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAccedi.Click
'Login
Dim login As String = ""
Dim conn As OleDb.OleDbConnection
conn = New OleDb.OleDbConnection("Provider=sqloledb;" & _
"Data Source=IPdelSERVER;" & _
"Initial Catalog=NOMEdb;" & _
"User Id=USER;" & _
"Password=PSW;")
Dim cmd As New OleDb.OleDbCommand
Dim reader As OleDb.OleDbDataReader
Dim sql As String = "SELECT * FROM utenti " & _
"WHERE user_id = '" & Request.Form("TextBoxUtente") & "' AND " & _
"pass = '" & Request.Form("TextboxPass") & "'"
Try
conn.Open()
cmd = New OleDb.OleDbCommand(sql, conn)
reader = cmd.ExecuteReader()
If reader.Read Then
Session("login") = reader.Item("tipo")
Try
Response.Redirect("clienti.aspx", False)
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString
End Try
Else
Me.TextBoxMessage.Text = "Utente non riconosciuto"
End If
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString()
Finally
conn.Close()
End Try
End Sub
Errore connessione OleDb
System.Data.OleDb.OleDbException: [DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied. at System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvider() at System.Data.OleDb.OleDbConnection.Open() at StatusManager.login.ButtonAccedi_Click(Object sender, EventArgs e)
Connessione ODBC
Private Sub ButtonAccedi2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim conn As New Odbc.OdbcConnection("Driver={SQL Server};" & _
"Integrated Security=false;" & _
"Server=IPdelSERVER;" & _
"Database=NOMEdb;" & _
"Uid=USER;" & _
"Pwd=PSW;")
Dim cmd As New Odbc.OdbcCommand
Dim reader As Odbc.OdbcDataReader
Dim sql As String = "SELECT * FROM utenti " & _
"WHERE user_id = '" & Request.Form("TextBoxUtente") & "' AND " & _
"pass = '" & Request.Form("TextboxPass") & "'"
Try
conn.Open()
cmd = New Odbc.OdbcCommand(sql, conn)
reader = cmd.ExecuteReader()
If reader.Read Then
Session("login") = reader.Item("tipo")
Try
Response.Redirect("clienti.aspx", False)
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString
End Try
Else
Me.TextBoxMessage.Text = "Utente non riconosciuto"
End If
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString()
Finally
conn.Close()
End Try
End Sub
Errore connessione ODBC
System.Data.Odbc.OdbcException: ERROR [08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.ERROR [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).ERROR [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute at System.Data.Odbc.OdbcConnection.Open() at StatusManager.login.Button3_Click(Object sender, EventArgs e)
Connessione SqlClient
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Login
Dim login As String = ""
Dim conn As New SqlConnection("Data Source=IPdelSERVER;" & _
"Integrated Security=false;" & _
"Initial Catalog=NOMEdb;" & _
"User id=USER;" & _
"password=PSW;")
Dim cmd As New SqlClient.SqlCommand
Dim reader As SqlClient.SqlDataReader
Dim sql As String = "SELECT * FROM utenti " & _
"WHERE user_id = '" & Request.Form("TextBoxUtente") & "' AND " & _
"pass = '" & Request.Form("TextboxPass") & "'"
Try
conn.Open()
cmd = New SqlClient.SqlCommand(sql, conn)
reader = cmd.ExecuteReader()
If reader.Read Then
Session("login") = reader.Item("tipo")
Try
Response.Redirect("clienti.aspx", False)
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString
End Try
Else
Me.TextBoxMessage.Text = "Utente non riconosciuto"
End If
Catch ex As Exception
Me.TextBoxMessage.Text = ex.ToString()
Finally
conn.Close()
End Try
End Sub
Errore connessione SqlClient
System.Data.SqlClient.SqlException: SQL Server does not exist or access denied. at System.Data.SqlClient.ConnectionPool.CreateConnection() at System.Data.SqlClient.ConnectionPool.UserCreateRequest() at System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) at System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) at System.Data.SqlClient.SqlConnection.Open() at StatusManager.login.Button1_Click(Object sender, EventArgs e)
Qualcuno ha idea della possibile causa di questo problema?
Ed eventualmente come risolverlo?
Saluti.