Avatar billede lasserasch Juniormester
16. januar 2007 - 12:56 Der er 11 kommentarer og
1 løsning

SQL timeout når jeg henter mit dataset ind. Hvor sættes timeout?

Hejsa.

Når jeg starter mit C# program, så henter jeg en hulens masse data ind i et dataset, som jeg så bruger mange steder i mit program...

Dette dataset har nu fået så mange data i sig, at det begynder at lave SQL timeouts. Det tager ca. 40 sek at hente alle mine data ind pt. Når jeg debugger kan jeg bare resume, og så fortsætter den, men hvad kan jeg gøre for at afhjælpe problemet?

Jeg har læst flere steder at jeg kan sætte sqltimeout, men jeg har oprettet mit SQL udtræk ved at tilføje et dataset til mit projekt.

Min SQL kode til at initialisere mit dataset står altså ikke i min kode.

Jeg har kun følgende stående i koden :

varedataset.AS400DATATABLEDataTable DT1;
varedatasetTableAdapters.AS400DATATABLETableAdapter ASDA1 = new Kalkulation.varedatasetTableAdapters.AS400DATATABLETableAdapter();

ASDA1.Fill(DT1);


Den timer out når den skal udføre "ASDA1.fill(DT1)"

Hvordan kan jeg sætte min timeout op?

/Lasse
Avatar billede mh6000 Nybegynder
16. januar 2007 - 13:05 #1
Timeout sættes på comand objecterne som er tilknyttet din DataAdapter
Avatar billede lasserasch Juniormester
16. januar 2007 - 13:05 #2
Eksempel? Hvad mener du med command objecterne?
Avatar billede mh6000 Nybegynder
16. januar 2007 - 13:17 #3
Jeg formoder at:
varedatasetTableAdapters.AS400DATATABLETableAdapter er en data adapter ?

en data adapter har:
SelectCommand,InsertCommand,DeleteCommand osv..
På disse command's kan du sætte en timeout.
Avatar billede lasserasch Juniormester
16. januar 2007 - 13:44 #4
Ja, du har ret. Skulle bare lige finde hvor disse kommandoer stod først. Se evt. det billed jeg har lagt ud på min hjemmeside : http://storetasker.dk/oversigt1.gif

Det er et screenshot fra VS2005. Skal jeg tilføje en parameter ud for select kommandoen eller hvordan?

Jeg kan ikke se mig ud af hvordan jeg får sat en anden timeout værdi på den!

/Lasse
Avatar billede mh6000 Nybegynder
16. januar 2007 - 14:02 #5
Hvad med at gøre det i kode :-)

eks:
varedatasetTableAdapters.AS400DATATABLETableAdapter.selectcommand.commandTimeout=200

Jeg sidder desværre kun med en VS2003, så hvordan det gøres via gui kan jeg ikke hjælpe med :-)
Avatar billede lasserasch Juniormester
16. januar 2007 - 14:11 #6
Problemet er bare at der ikke findes en .selectcommand

Hverken hvis jeg skriver :

varedatasetTableAdapters.AS400DATATABLETableAdapter.

eller
ASDA1.

Så jeg ved ikke hvordan jeg skal sætte dette i kode. Men hvis man kan, så jo... Selvfølgelig bør alt ligge i kode. Jeg har aldrig arbejdet med datasets før, så derfor valgte jeg at bruge gui. Det var mere overskueligt syntes jeg.

/Lasse
Avatar billede Syska Mester
16. januar 2007 - 16:33 #7
Mener der er en timeout=160; du kan sætte i din connectionstring, til din SqlConnection object ...

// ouT
Avatar billede lasserasch Juniormester
16. januar 2007 - 19:41 #8
Ja, men hvis man sætter timeout i sin connectionstring, er det så ikke bare en timeout for det at oprette forbindelsen? Den gælder vel ikke for de forespørgelser man herefter laver eller?

/Lasse
Avatar billede Syska Mester
16. januar 2007 - 21:41 #9
Så er det vel på serveren du skal sætte timeout ...
Men jeg har nu ikke haft problemer med queries på 30 mins mod en mysql ... men kan selvf ske den er sat anderledens op ...

Men tror helt sikkert det er databasen som bestemmer hvornår den smider en klient af og ikke .NET .......

// oUT
Avatar billede lasserasch Juniormester
17. januar 2007 - 07:16 #10
Hmmm.... Tror jeg altså ikke buzzzz.

Jeg kan nemlig sagtens fra SQL Management studio udføre nøjagtig samme query. Den tager 48 sek. om at køre den...

Men så snart det er .net sqlclient provider, så er timeout 15 sek som standard, og derfor vil den ikke!
Det er MSSQL server jeg bruger, ikke MySQL...

Jeg finder ud af noget andet så! Men takker for kommentarerne!

/Lasse
Avatar billede mh6000 Nybegynder
17. januar 2007 - 07:25 #11
Hvilken type er din dataadapter ??

Lidt doc: (sqlDataAdapter)
http://msdn2.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter_members.aspx
Avatar billede lasserasch Juniormester
02. oktober 2007 - 12:05 #12
fandt selv en løsning. Beklager lang responstid!

/Lasse
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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