- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- [ASP.NET E SQL SERVER] Problemi di connessione
-
[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.
-
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?
-
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