Avatar billede Kim Neesgaard Seniormester
09. februar 2005 - 13:54 Der er 11 kommentarer og
1 løsning

Brug af sqlCommandTimeout

Jeg skal lave en forespørgsel til 2 Oracletabeller som linked tables via en SQL Server. Forespørgslen tager imidlertid for lang tid, så SQL Serveren giver mig en timeout.

På MS'es side har jeg set, at man kan bruge sqlCommandTimeout til at forlænge tiden til timeout, men jeg kan ikke rigtig se, hvordan kommandoen bruges helt konkret - kan nogen give en praktisk vejledning i, hvordan man bruger den og hvad man skriver hvor?
Avatar billede anhansen Nybegynder
09. februar 2005 - 14:09 #1
Hvis du har en SqlCommand objekt vil jeg mene det bare er som sådan:
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 0;
Avatar billede Kim Neesgaard Seniormester
09. februar 2005 - 16:31 #2
Er 'SqlCommand objekt' et name space, der skal angives i toppen?
Avatar billede snepnet Nybegynder
09. februar 2005 - 18:53 #3
hej neesgaard :o)
du kan lave en :
using System.Data.SqlClient;
eller bruge det fulde navn :
System.Data.SqlClient.SqlCommand cmd = ...
mvh
Avatar billede Kim Neesgaard Seniormester
10. februar 2005 - 09:26 #4
Hvis jeg skriver System.Data.SqlClient.SqlCommand cmd = 60 i koden, så får jeg fejlen 'SqlCommand' is a type in 'SqlClient' and cannot be used as an expression., men det er måske et andet sted, det skal skrives?
Avatar billede anhansen Nybegynder
10. februar 2005 - 09:43 #5
Det er ikke sådan det står.
Der står du skal skrive:
System.Data.SqlClient.SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 60;
Avatar billede Kim Neesgaard Seniormester
10. februar 2005 - 09:58 #6
Undskyld - det havde jeg overset, men den giver stadig fejlen på den første linie?
Avatar billede Kim Neesgaard Seniormester
10. februar 2005 - 10:21 #7
Hvis man skriver sådan:

Dim cmd as SQLCommand
cmd = new SqlCommand()
cmd.CommandTimeout = 60

giver den ikke fejl, men den dør stadig efter de samme 30 sekunder. Er det korrekt at skrive sådan?
Avatar billede anhansen Nybegynder
10. februar 2005 - 10:35 #8
det vil jeg mene... Men du skal jo så bruge det cmd objekt du laver til at udføre forespørgslen.
Avatar billede Kim Neesgaard Seniormester
10. februar 2005 - 10:51 #9
Den ser sådan ud:

SQLTekst = New SqlCommand(strSQL,objConn )
Dim rs As SqlDataReader = SQLtekst.ExecuteReader()
rs.Read()

og hvis jeg så skriver SQLTekst.CommandTimeout = 60, så virker det!
Avatar billede anhansen Nybegynder
10. februar 2005 - 10:54 #10
fint... Så lægger jeg et svar.. :-)
Avatar billede Kim Neesgaard Seniormester
10. februar 2005 - 11:13 #11
Og jeg takker mange gange!!! Det løste et stort problem.
Avatar billede anhansen Nybegynder
10. februar 2005 - 11:22 #12
det var så lidt...
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