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
Errore connessione OleDbcodice: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
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
Errore connessione ODBCcodice: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
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
Errore connessione SqlClientcodice: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
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.

Rispondi quotando