Hej. Hej! Det blir nog något sådant vi gör. Som du säger kan synkronisering nog ge mer problem än det är värt jämfört med en central databas. Länkade tabeller kan nog vara en bra ide under en övergångsfas. I själva verket verkar det som om vi kommer att använda PostgreSQL, då MySQL har en dyr licens om man ska leverera den med ett program. MySQL behöver inte kosta bara för att man levererar det med ett program. Vilken licens som kan/måste användas för MySQL beror på vilken licens man använder för programmet. Licensierar ni ert program under GPL, kan ni skicka med MySQL utan att betala för en proprietär licens.Databassynkronisering
Jag jobbar på ett program där vi har en rätt stor databas. Det mesta är lagrat i en Access-databas på ca 2 GB (varav mycket av datan är historisk, med en tidsstämpel på varje post). En del data lagras i en hemgjord databas av effektivitetsskäl. (Jag skrev den hemgjorda databasen för ett antal år sedan, och vet inte om den längre är nödvändig, men det skulle vara en hel del jobb att konvertera programmen till att hämta dessa data från Access.)
Nu vill vi kunna komma åt dessa data från flera datorer, och funderar över att kopiera data med jämna mellanrum mellan dem, så att alla datorer ska ha samma data, eller att läsa direkt över nätverket från en dator som får ha alla data.
Jag håller just nu på och experimenterar med Access inbyggda stöd för replikering, men har problem med att den inte verkar kunna konvertera stora databaser till "huvudrepliker". (Access verkar över huvud taget inte klara av databaser på mer än 4 GB.)
Vi har också funderat på att skriva VB-kod för att kopiera alla nya data med jämna mellanrum, och då identifiera vad som är nytt genom att sätta en tidsstämpel eller så på varje post, samt kanske kopiera hela databasen varje natt.
Alternativet är som sagt att läsa data direkt från nätverket, men även då måste den hemgjorda databasen hållas helt synkroniserad.
Finns det någon annan lösning? Det kanske finns något färdigt system för synkronisering som man kan köpa eller så?
Vad tror ni? Finns det speciella problem med olika lösningarna, och vilken kommer att gå snabbast? Vi vill inte ha så stor fördröjning från det att data kommer till huvuddatorn tills de är tillgängliga på de andra datorerna.
Kan man styra Access inbyggda synkronisering från Visual Basic, och går det att köra den även om något program har en koppling till databasen öppen?Sv: Databassynkronisering
Jag tycker att det låter som om det är dags att byta till SQL Server (eller MySQL om pris är ett problem). Access får som sagt problem vid stora datamängder och/eller många användare. Att hålla på och synka mellan lokala databaser är oftast jobbigt att få igång och att underhålla.
Om du vill ha kvar koden i Access kan du ju köra länkade tabeller eller liknande.
/KalleSv: Databassynkronisering
Sv: Databassynkronisering
Sv: Databassynkronisering