Accesso simultaneo al database sull'unità di rete condivisa

0

Sono parte di un piccolo team che attualmente utilizza un database di Access per pianificare la disponibilità di un team più ampio. Ciò ha presentato alcuni problemi con la corruzione del database di Access. Inoltre, voglio implementare funzionalità aggiuntive nel tempo.

Ho deciso di creare un'applicazione per i 4-5 di noi da utilizzare che risolverà il problema del database simultaneo, oltre a offrire al team più funzionalità.

Poiché si tratta di un'unità di rete condivisa, non avrò accesso a SQL Server (da quanto ho intuito). Ho pensato che forse un servizio web sarebbe la strada da percorrere, ma non voglio davvero anticipare il conto. Inoltre, quando alla fine lascerò il team, non voglio mantenerlo.

Alcune idee che ho trovato sono un'applicazione scritta in C # che funge da front-end con SQLite incorporato come back-end. Tuttavia, ho trascorso giorni a cercare di far funzionare Entity Framework con SQLite e sono sul punto di arrendermi.

Sto cercando di decidere cos'altro posso fare per risolvere questo problema. C'è un'altra tecnologia che posso usare?

    
posta keelerjr12 05.02.2018 - 22:57
fonte

4 risposte

1

Dividere il database di Access è una cosa supportata ufficialmente proprio per questo scenario. Si trasforma in file front-end e back-end. Il front-end è un po 'come la parte dell'applicazione, e il back-end è il database. Distribuisci una copia del front-end su ciascuna macchina e mantieni il back-end sull'unità condivisa.

Se mordere il proiettile e fare un'app completa dipende davvero dalla tua situazione. Se di solito non hanno accesso a uno sviluppatore e pensi che potresti andare avanti ad un certo punto, probabilmente continuare con Access è la scelta migliore.

    
risposta data 07.02.2018 - 00:48
fonte
1

Non penso che tu abbia fatto la tua due diligence qui nella scelta del prodotto appropriato.

Usi appropriati per SQLite

SQLite is not directly comparable to client/server SQL database engines such as MySQL, Oracle, PostgreSQL, or SQL Server since SQLite is trying to solve a different problem.

Client/server SQL database engines strive to implement a shared repository of enterprise data. They emphasize scalability, concurrency, centralization, and control. SQLite strives to provide local data storage for individual applications and devices. SQLite emphasizes economy, efficiency, reliability, independence, and simplicity.

Per un buon uso simultaneo hai bisogno di un vero server. SQL Server Express è gratuito.

    
risposta data 12.02.2018 - 21:27
fonte
0

L'accesso non è un database appropriato.

È essenzialmente un file binario che viene manipolato da più client allo stesso tempo - una ricetta per i problemi, come hai scoperto.

I won't have access to SQL Server ...

Perché no?

Se la tua azienda possiede il server su cui si trova il tuo file di database Access, allora perché non possono inserirvi SQL Server?

Questa potrebbe essere la tua opzione più semplice perché puoi quindi "potenziare" i dati, migrandoli automaticamente da Access a SQL Server; il tuo MDB di Access diventa quindi il tuo livello di applicazione, che puoi continuare a sviluppare separatamente se lo desideri; i tuoi dati saranno gestiti in sicurezza da SQL Server, accessibile tramite "Tabelle collegate" all'interno di Access.

    
risposta data 07.02.2018 - 12:41
fonte
0

Documenti SQLite esplicitamente :

One should note that POSIX advisory locking is known to be buggy or even unimplemented on many NFS implementations (including recent versions of Mac OS X) and that there are reports of locking problems for network filesystems under Windows. Your best defense is to not use SQLite for files on a network filesystem.

(Emph. mio.)

    
risposta data 13.02.2018 - 03:12
fonte

Leggi altre domande sui tag