Avatar billede limpa Nybegynder
24. november 2004 - 13:59 Der er 5 kommentarer

DB connection i tråde

Hej allesammen

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.
Avatar billede arne_v Ekspert
24. november 2004 - 14:02 #1
Du skal vel bare lade hver tråd lave sin egen connection, bruge den og
lukke den igen.

Så bør du undgå de problemer.

Når du skal have fintunet din applikation kan du jo altid lave en connection pool.
Avatar billede limpa Nybegynder
24. november 2004 - 14:07 #2
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.
Avatar billede arne_v Ekspert
24. november 2004 - 21:19 #3
Jeg kender desværre ikke C++ Builder så jeg må nok melde pas
Avatar billede limpa Nybegynder
25. november 2004 - 09:26 #4
Det er okay, tak for forsøget. Jeg lader den stå åben lidt endnu, det burde være muligt og jeg kigger selvfølgelig også selv på det.
Avatar billede zapzap Nybegynder
11. januar 2005 - 16:32 #5
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester