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

    [ADO.Net] Applicazione MultiUtente

    Ciao,

    Sto realizzando un programma per la gestione delle scorte di magazzino e fatturazione, il tutto sarà eseguita in remoto da più utenti contemporaneamente, quindi ho bisogno di alcune protezioni per evitare i famosi problemi in cui due utenti eseguono la stessa azione sullo stesso record nello stesso momento....


    Sto utilizzando le transazioni con metodo di isolamento serializzable....

    Però volevo saperequali tecniche utilizzate voi in questi casi....

    Ad esempio una delle funzioni del programma sarà quella di convertire un ordine in fattura, però finchè la fattura non sarà emessa l'ordine sarà presente, e se mentre emetto la fattura, un'altro utente decide di fatturare l'ordine ci sarebbero dei problemi...

    Oppure se fattura 10 pezzi dell'ordine x e nello stesso momento viene emessa un'altra fattura con 7 pezzi di ordine x, ed in magazzino ce ne saranno soltanto 15???


    Il problema è che per la creazione della fattura ci sarà una form in cui saranno inseriti tutti i dati dei clienti, spedizione, ecc... quindi non sarà possibile bloccare il database per tutto questo tempo....


    Qualcuno può suggerirmi delle soluzioni?


    Grazie

    Ps: Utilizzo Access

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il primo consiglio (quello di base) e' di NON usare Access.

    Lavora con SQL Server, MySql, Oracle o altri DBMS seri e poi affronta questi problemi.

  3. #3
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    non è mica cosi' semplice...secondo me non dovresti bloccare il db !
    una soluzione può essere per es uno compila il form e poi quando clicca "Salva fattura" allora parte la transazione, se va a buon fine allora ok altrimenti se succede che ci sono meno pezzi in magazzino la transazione fa rollback e avvisa chi stà compilando la fattura che non ci sono pezzi in magazzino...
    non credo che hai tante alternative..
    I got the remedy

  4. #4
    per quanto riguarda l'utilizzo di MSSQL, io utilizzo Visual Studio 2005...

    In che modo posso distribuire poi la mia applicazioni ai clienti?

    Avete qualche link per chiarirmi un pò le idee sull'installazione di MSSQL sugli altri pc?

    Preferirei utilizzare MSSQL express, in quanto gratuito, è possibile anche se utilizzo Visual Studio professional?



    Grazie

  5. #5
    Se vuoi continuare ad usare Access in multiutenza, splitta il database.
    Strumenti -> Utilità Database -> Divisione guidata database.
    Ti creerà un database di Back End (solo tabelle) e uno di Front End (form e altro).

    Per "bloccare" i pezzi in fatturazione, devi riuscire ad aprire quel/quei record, in modo da impedire modifiche da parte di altri utenti.

  6. #6
    Il primo consiglio (quello di base) e' di NON usare Access.
    a mio modesto parere dipende dal numero di utenti, per una piccola cosa Access potrebbe anche andare bene, se poi il numero di utenti aumenta...
    Secondo me tutte le verifiche(UltimoNumeroDocumento, DisponibilitàProdotto, Verifica che la data del documento non sia antecedente alla data dell'ultimo documento......) che si fanno all'apertura del form "CreaNuovoDocumento" debbano essere fatte anche all'atto del salvataggio e della Stampa(in quanto un utente potrebbe anche stampare il documento e solo dopo salvarlo...), in modo da bloccare il salvataggio in caso di errore.
    Insomma la questione non è semplice, un'idea sarebbe quella di inserire qui tutte le idee che ci vengono per prevenire questo tipo di problemi.

  7. #7
    A questo punto il primo passso è di inserire SQL 2005

    Però sono rimasto bloccato:

    1) Da Visual Studio 2005 Professional vorrei creare un database

    2) Una volta finito il programma come lo ridistribuisco?


    Il 2° punto non è urgente, per adesso mi basterebbe sapere come creare il database da visual studio...


    Grazie


    PS: Ho creato un database utilizando la funzione aggiungi elemtno di visual studio, però quando mi connetto dice:

    Si è verificato un errore mentre si cercava di stabilire una connessione con il server. Quando ci si connette a SQL Server 2005, questo errore potrebbe essere provocato dal fatto che l'SQL Server non ammette connessioni remote sotto le impostazioni predefinite. (provider: Provider Named Pipes, error: 40 - Impossibile aprire una connessione a SQL Server)

    Server=localhost;DataBase=DataBaseApplicazione;Int egrated Security=SSPI

    Il nome del file creato è: DataBaseApplicazione.mdf

  8. #8
    Posso utilizzare Microsoft SQL Server 2005 express, anche se utilizzo visual studio professional?


    Perchè vorrei distribuirlo su un pc che utilizza Sql Express, quindi volevo sapere se dovevo svilupparlo con Sql express, oppure se potevo svilupparlo con la versione in uso con visual studio professional?

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.