Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Errore di connessione a SQL Server 2005 Express

    Salve a tutti!
    Sono nuovo di questo forum e un novizio di questo linguaggio.

    Mi sono imbarcato in quest'avventura ma sono già incappato in un problema che non so proprio come risolvere e spero proprio che voi mi possiate dare una mano.
    Vi espongo il mio problema:

    ho scritto un programmino di test sul mio pc che sfrutta come DB SQL Server 2005 Express e fin qui tutto bene, sembrava che tutto funzionasse molto bene.

    Poi ho spostato il tutto sul server per testare ancora l'applicazione e sono iniziati i problemi, ovvero non si connette al DB! Ohi...

    Allora il server è un "Windows 2003 Small Business edition" SP1.
    Ho intsallato il framework 2 di .NET
    Ho installato SQL Server 2005 Express
    Ho ricreato un un nuovo DB e sembra tutto funzionare o meglio:

    Le pagine ASPX funzionano.
    Tramite il tool di gestione del DB riesco ad utilizzare e modificare il DB creato(quindi select,update tutto funzionante)...ma quando arrivo a connettermi dall'applicazione APSX mi da il seguente errore:

    codice:
    Impossibile aprire il database "MY_NEWDB" richiesto dall'account di accesso. Accesso non riuscito. 
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
    
    Exception Details: System.Runtime.InteropServices.COMException: Impossibile aprire il database "MY_NEWDB" richiesto dall'account di accesso. Accesso non riuscito. 
    
    Source Error: 
    
    
    
    Line 59: myCon.Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;" & _ 
    Line 60: "Data Source=" & mySessionInfo.DataSource & ";" & _ 
    Line 61: "Initial Catalog=" & mySessionInfo.DataBase) 
    
    
    Source File: c:\inetpub\wwwroot\aspxtest\App_Code\User.vb Line: 59 
    
    Stack Trace: 
    
    
    [COMException (0x80004005): Impossibile aprire il database "MY_NEWDB" richiesto dall'account di accesso. Accesso non riuscito.] 
    ADODB.ConnectionClass.Open(String ConnectionString, String UserID, String Password, Int32 Options) +0 
    User.LogOnUser(String sUserName, String sPassword, SessionInfo mySessionInfo) in c:\inetpub\wwwroot\aspxtest\App_Code\User.vb:59 
    _Default.btnLogIn_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\aspxtest\Default.aspx.vb:31 
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107 
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102 
    
    
    
    
    -------------------------------------------------------------------------------- 
    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
    Non so dove mettere le mani e vorrei proprio risolvere questo problema.
    Spero che mi possiate dare una mano a capire oltre che risolvere questo problema.

    Saluti a tutti.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Prova a postare anche il codice che hai scritto per l'accesso al DB affinché possiamo verificare che sia corretto.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Originariamente inviato da alka
    Prova a postare anche il codice che hai scritto per l'accesso al DB affinché possiamo verificare che sia corretto.

    Ciao!
    Ok! Bene eccolo!
    Questa è la function che si occupa di aprire la connessione al DB.
    Spero possa aiutare...

    Le due variabili seguenti contengono:
    mySessionInfo.DataSource = "SERVERINO\SQLEXPRESS"
    mySessionInfo.DataBase = "MY_NEWDB"


    codice:
    Public Function LogOnUser(ByVal sUserName As String, ByVal sPassword As String, ByVal mySessionInfo As SessionInfo) As Boolean
           
            Dim myCon As New ADODB.Connection
            Dim myRS As New ADODB.Recordset
            Dim myUtility As New Utility
            Dim sSql As String
            Dim sWhere As String
    
            myCon.Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;" & _
                        "Data Source=" & mySessionInfo.DataSource & ";" & _
                        "Initial Catalog=" & mySessionInfo.DataBase)
    
            sSql = "select * from SYS_TB_USER where "
            sWhere = "USER_NAME='" & sUserName & "'"
            sWhere += " and PASSWORD_1='" & sPassword & "'"
            sWhere += " and PASSWORD_2='" & sPassword & "'"
    
            myRS.Open(sSql & sWhere, myCon, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly)
    
            If myRS.EOF Then
                m_bLogOn = False
            Else
                m_bLogOn = True
                m_sUserName = sUserName
                m_sName = myRS("NOME").Value.ToString
                m_sSurname = myRS("COGNOME").Value.ToString
                m_dLogOnTime = Now
    
                sSql = "update SYS_TB_USER set LAST_LOGON = "
                sSql += "" & GetNumericDate(Now)
                sSql += "where USER_NAME = '" & sUserName & "'"
    
                myCon.Execute(sSql)
    
            End If
    
            myRS.Close()
    
            myRS = Nothing
            myCon = Nothing
           
            Return m_bLogOn
    
        End Function
    Cosa dite?
    Questo è il codice che sul mio PC funziona!(il DB è diverso però)
    Stessa pagina sul server, non riesce a connettersi al DB nuovo...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Perché usi ADODB.Connection e classi affini?

    Dovresti usare le classi di ADO.NET (SqlConnection, SqlCommand, SqlDataReader, ...) per collegarsi a database di tipo SQL Server. :master:

    Le classi si trovano nel namespace System.Data.SqlClient.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Ok adesso provo...ma adesso mi piacerebbe comprendere però perchè sul mio PC funziona tutto...che cosa manca all'altro PC?

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da BangBangMan
    Ok adesso provo...ma adesso mi piacerebbe comprendere però perchè sul mio PC funziona tutto...che cosa manca all'altro PC?
    Forse qualche driver o la libreria ADO, contenuta nel pacchetto MDAC di Microsoft, o qualche suo aggiornamento.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Finalmente dopo quasi un mese sono riuscito a rimettere le mani su quella macchina.

    Ho installato MDAC 2.8 ma ancora non vuole collegarsi.

    Cosa posso fare ancora?
    Preferirei non dover riscrivere tutto con SqlConnection...dovrei cambiare molte cose.

    Potete darmi una mano?
    Cosa dovrò configurare?

  8. #8
    Ho provato adesso a modificare solo quella parte li del software con la SqlConnection per veder se la connessione almeno partiva ma continua a non andare!!!

    E' probabile quindi che il problema sia di altra natura...

    Adesso l'errore però è leggermente diverso:

    Impossibile aprire il database "MY_NEWDB" richiesto dall'account di accesso. Accesso non riuscito.
    Accesso non riuscito per l'utente 'NT AUTHORITY\SERVIZIO DI RETE'.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Impossibile aprire il database "MY_NEWDB" richiesto dall'account di accesso. Accesso non riuscito.
    Accesso non riuscito per l'utente 'NT AUTHORITY\SERVIZIO DI RETE'.

    Source Error:


    Line 79:
    Line 80: Dim myDAdp As New SqlDataAdapter(sSql & sWhere, SQLCon)
    Line 81: myDAdp.Fill(myDS, "SYS_TB_USER")
    Line 82:
    Line 83: Dim myDTable As New Data.DataTable()

    Vi prego aiutatemi non riesco a capire!

    E' forse un problema di permessi?
    Cosa devo modificare?

  9. #9
    Evviva!
    Sono riuscito a risolvere il problema!!!

    Dopo aver sostituito gli oggetti per la connessione l'errore che mi veniva generato era più chiaro e sono stato in grado di capirlo e sistemarlo.
    In pratica si trattava di impostare correttamente i permessi di SQL Server per le utenze di rete.

    Grazie mille alka!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.