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

    ADO.NET Connessioni multiple...

    Salve ragazi ho un problemino, ho una pagina aspx che crea una connesione ad un database access, la sintetizzo di seguito...


    Public Sub Page_Load( ......

    Dim cnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DB & ";Jet OLEDBatabase Locking Mode=1;Mode=ReadWrite;"
    Dim conn As New OleDbConnection(cnString)

    If conn.State = ConnectionState.Closed Then
    conn.Open()
    End If

    Varie operazioni tipo SELECT * FROM ....UPDATE etc

    Dim sqlt = "SELECT * FROM Aziende WHERE Aziende.ID=" & recordLOGIN("IDAzienda")
    Dim cmd3x As New OleDbCommand(sqlt, conn)
    Dim recordAZI2 As OleDbDataReader = cmd3x.ExecuteReader
    recordAZI2.Read()
    Session("Nomeazienda") = recordAZI2("NomeAzienda")

    ... etc

    conn.close()

    In pratica quando due o più utenti accedono contemporaneamente alla pagina si crea un errore del tipo connessione gia' aperta o chiusa.

    Come posso fare per rendere questa pagina utilizzabile a più utenti contemporaneamente?

    Commentando il conn.close() il processo rimane sempre connesso al db e mi permette di accedere al db contemporaneamente da più postazioni.

    Mi domando è errato commentare il close() e se si che consegueze comporta?

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    prova a togliere quel --> Database Locking Mode=1 dalla stringa di connessione
    I got the remedy

  3. #3

    RE: Loking

    Scusate, ho sbagliato a riportare la stringa di connessione che è la seguente:

    Public Shared cnString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DB & "; User Id=admin; Password=;"

    Public Shared conn As New OleDbConnection(cnString)

    cmq è sempre la stessa cosa funziona in rete e contemporaneamente con più utenti solo con la conn.close() commentata ...

    Possibile che funzionai solo così? senza disconnettersi dal DB?

  4. #4
    Ma la definizione della conessione Public Shared dove l'hai messa?
    Dentro la pagina stessa? A che scopo l'hai fatta Shared?
    Se due utenti accedono contemporaneamente alla pagina e cominciano a leggere
    i dati dal db, quello che finisce prima subito dopo chiude la connessione anche a l'altro.
    Probabilmente è per questo che ti da errore.
    Cmq questa eventualità con il primo codice che hai postato non dovrebbe verificarsi.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.