• User Newbie

    [ASP.NET E SQL SERVER] Problemi di connessione

    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.


  • User Attivo

    SQL Server does not exist or access denied

    Ci sono varie opzioni:

    • il server che richiami non esiste
    • hai sbagliato a scrivere la stringa di connessione
    • user e pwd non sono corretti
    • l' user non ha i permessi per leggere il DB

    Ho notato che richiami il server tramite l' ip. hai provato a sostiturirlo col nome del server?


  • User Newbie

    Non credo che sia così, altrimenti dall'altro dominio non dovrebbe connettersi, infatti come ho scritto nel messaggio di apertura del post, ho fatto una prova su un altro dominio, diverso da quello dove poi deve essere pubbicato il sito, e quì la connessione funziona perfettamente e mi permette di leggere, scrivere e modificare.

    Saluti