Jeg har bygget noget klient/server struktur sammen og det er fint nok, men systemet bryder sammen når 2 klienter beder serveren om noget i databasen.
Efter at have kigget på situationen må jeg indrømme at det er fordi de bruger den samme connection på serveren og det selvfølgelig ikke holder en meter. Jeg vil derfor hører om i kan hjælpe mig med at få den oprettet i tråden.
Det hele er kodet i Borland C++ builder og deres Indy komponent er brugt. Databasen er en MS SQL Server.
Hvis der mangler informationer må i bare sige til.
Du har fuldstændig ret, jeg kan bare ikke lure det tekniske i det. Når jeg opretter DB connectionen gør jeg det vha. et "data modul" i Borland. Dette opretter en kontakt til databasen ved runtime, men jeg kan ikke lure hvordan den skal kunne bruges til hver enkelt klient samtidig - eller hvordan jeg opretter en anden slags forbindelse.
I 'bunden' kræver sådan noget jo, at db-forbindelserne er 'galvanisk' adskilte, hvis. f.eks. nu en klient laver en transaktion samtidigt med den anden. Og det sker i det forskellige db-lag gennem objekter, handles etc. etc. Da det vigtige jo, at de er adskilt, skal din klient-tråd indeholde en tråd-specifik db-connection (sammen med alt andet klient-specifikt formodenligt. Så hvis 'data modul' er tread-safe, vil den også virke på denne måde. Ellers må du selv have en "data modul" instans i hver tråd.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.