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
codice:
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(I nt32 hr) at System.Data.OleDb.OleDbConnection.InitializeProvid er() at System.Data.OleDb.OleDbConnection.Open() at StatusManager.login.ButtonAccedi_Click(Object sender, EventArgs e)



Connessione ODBC
codice:
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
codice:
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.CreateConnect ion() at System.Data.SqlClient.ConnectionPool.UserCreateReq uest() at System.Data.SqlClient.ConnectionPool.GetConnection (Boolean& isInTransaction) at System.Data.SqlClient.SqlConnectionPoolManager.Get PooledConnection(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.