|  | 		    
					
        
         
          
         
	
          | |  | T-SQL fejl med Count (ADO) Fra : Snedker
 | 
 Dato :  29-10-02 00:18
 | 
 |  | Følgende virker fint i min Query Analyzer:
 
 Select Count(OrdreID) as cID, OrdreiD
 From vSpotLen
 Where DatePart(hh, StartTid)=8
 Group By OrdreID
 
 I min kode ser det så således ud:
 
 rs1.Open "Select Count(OrdreID) as cID, OrdreiD From vSpotLen" & _
 "Where DatePart(hh, StartTid)=" & x & " Group By
 OrdreID", con, adOpenStatic, adLockOptimistic
 
 Det virker så til gengæld ikke. Får fejlen:
 
 'hh' is not a recognized OPTIMIZER LOCK HINTS option"
 
 Har fræst google igennem, men synes ikke jeg kunne finde noget der
 passede min lille ting....
 
 Any ideas?
 
 
 mvh /Snedker
 ---
 Klip det citerede væk, du ikke besvarer
 Besvar venligst under det citerede
 
 
 |  |  | 
  Lars Hessellund (29-10-2002) 
 
	
          | |  | Kommentar Fra : Lars Hessellund
 | 
 Dato :  29-10-02 01:34
 | 
 |  | Hmm.... ved ikke hvad din fejl betyder...men prøv at skrive 'h' istedet for
 hh....
 /Lars
 
 
 
 
 |  |  | 
  Peter Lykkegaard (29-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  29-10-02 08:06
 | 
 |  | 
 
            Som svar på skriblerier nedfældet af Snedker :
 >  rs1.Open "Select Count(OrdreID) as cID, OrdreiD From vSpotLen" & _
 >                 "Where DatePart(hh, StartTid)=" & x & " Group By
 > OrdreID", con, adOpenStatic, adLockOptimistic
 >
 > Det virker så til gengæld ikke. Får fejlen:
 >
 Prøv lige at hente den Select statement fra debuggeren eller vha Profileren
 Det ser ud som om du prøver noget ala
 Select Count(OrdreID) as cID, OrdreiD
 From vSpotLenWhere DatePart(hh, StartTid)=" & x & "
 Group By OrdreID
 Hvor tabellen får aliaset DatePart og hh bliver "lock hint"    mvh/Peter Lykkegaard
            
             |  |  | 
  Snedker (29-10-2002) 
 
	
          | |  | Kommentar Fra : Snedker
 | 
 Dato :  29-10-02 12:16
 | 
 |  | 
 
            On Tue, 29 Oct 2002 08:05:41 +0100, "Peter Lykkegaard"
 <polonline@hot.mail.com> wrote:
 >Select Count(OrdreID) as cID, OrdreiD
 >From vSpotLenWhere DatePart(hh, StartTid)=" & x & "
 >Group By OrdreID
 Jeeee  ! Der mangler et mellemrum mellem mit From og Where clause.
   mvh /Snedker
 ---
 Klip det citerede væk, du ikke besvarer
 Besvar venligst under det citerede
            
             |  |  | 
   Peter Lykkegaard (29-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  29-10-02 13:47
 | 
 |  | 
 
            Som svar på skriblerier nedfældet af Snedker :
 > Jeeee  ! Der mangler et mellemrum mellem mit From og Where clause.
 >    >
 Godt set    Hver eneste gang man snubler over en SQL statement der ikke _burde_ fejle,
 så kan man få megen hjælp ved at have Profileren kørende, for opsnappe hvad
 der bliver sendt til MSSQL
 Skriv dette ti gange på en kridttavle hver aften før du går i seng, indtil
 du starter Profileren per automatik, når du laver tests    mvh/Peter Lykkegaard
            
             |  |  | 
    Snedker (29-10-2002) 
 
	
          | |  | Kommentar Fra : Snedker
 | 
 Dato :  29-10-02 13:50
 | 
 |  | On Tue, 29 Oct 2002 13:47:09 +0100, "Peter Lykkegaard"
 <polonline@hot.mail.com> wrote:
 
 >Hver eneste gang man snubler over en SQL statement der ikke _burde_ fejle,
 >så kan man få megen hjælp ved at have Profileren kørende, for opsnappe hvad
 >der bliver sendt til MSSQL
 
 Ja - bortset fra at mit statement aldrig nåede frem til Profileren..?
 Under hvilken event burde jeg se det? Jeg har alt under TSQL med...
 
 mvh /Snedker
 ---
 Klip det citerede væk, du ikke besvarer
 Besvar venligst under det citerede
 
 
 |  |  | 
     Peter Lykkegaard (29-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  29-10-02 14:36
 | 
 |  | Som svar på skriblerier nedfældet af Snedker :
 
 > On Tue, 29 Oct 2002 13:47:09 +0100, "Peter Lykkegaard"
 > <polonline@hot.mail.com> wrote:
 >
 >> Hver eneste gang man snubler over en SQL statement der ikke _burde_
 >> fejle, så kan man få megen hjælp ved at have Profileren kørende, for
 >> opsnappe hvad der bliver sendt til MSSQL
 >
 > Ja - bortset fra at mit statement aldrig nåede frem til Profileren..?
 > Under hvilken event burde jeg se det? Jeg har alt under TSQL med...
 >
 Øhh, damn
 Er det  7 eller 2K?
 Og brugte du (profiler) wizarden, eller?
 Kan du se andre statements fra din app?
 
 Når du får den fejlmeddelsen du får, så burde du også se den i profileren
 "før" den når MSSQL
 
 mvh/Peter Lykkegaard
 
 
 
 
 
 |  |  | 
      Snedker (29-10-2002) 
 
	
          | |  | Kommentar Fra : Snedker
 | 
 Dato :  29-10-02 19:35
 | 
 |  | On Tue, 29 Oct 2002 14:35:30 +0100, "Peter Lykkegaard"
 <polonline@hot.mail.com> wrote:
 
 
 >> Ja - bortset fra at mit statement aldrig nåede frem til Profileren..?
 >> Under hvilken event burde jeg se det? Jeg har alt under TSQL med...
 >>
 >Øhh, damn
 >Er det  7 eller 2K?
 2K
 
 >Og brugte du (profiler) wizarden, eller?
 Jeps.
 >Kan du se andre statements fra din app?
 Jeps
 
 
 >Når du får den fejlmeddelsen du får, så burde du også se den i profileren
 >"før" den når MSSQL
 
 Ja, det skulle jeg jo også mene..
 
 mvh /snedker
 ---
 Klip det citerede væk, du ikke besvarer
 Besvar venligst under det citerede
 
 
 |  |  | 
       Peter Lykkegaard (29-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  29-10-02 21:12
 | 
 |  | Som svar på skriblerier forfattet af Snedker
 
 > On Tue, 29 Oct 2002 14:35:30 +0100, "Peter Lykkegaard"
 > <polonline@hot.mail.com> wrote:
 >
 >> Når du får den fejlmeddelsen du får, så burde du også se den i
 >> profileren "før" den når MSSQL
 >
 > Ja, det skulle jeg jo også mene..
 >
 Hmm, bruger ODBC eller OLEDB - eller?
 
 mvh/Peter Lykkegaard
 
 
 
 
 |  |  | 
        Stig Johansen (30-10-2002) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  30-10-02 05:21
 | 
 |  | Hej.
 
 "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
 news:apmq2n$sof$1@sunsite.dk...
 > Som svar på skriblerier forfattet af Snedker
 >
 > > On Tue, 29 Oct 2002 14:35:30 +0100, "Peter Lykkegaard"
 > > <polonline@hot.mail.com> wrote:
 > >
 > >> Når du får den fejlmeddelsen du får, så burde du også se den i
 > >> profileren "før" den når MSSQL
 
 Profileren er en tilbagemelding fra serveren, ok IKKE en intercept fra
 klient.
 Som du skriver, er det et uvurderligt værktøj hvis man bruger M$ SQLServer,
 men det er ikke et debugger værktøj.
 Debug gøres ved at skrive statementet ud, og derefter kopiere det over i
 Query Analyzer.
 
 > > Ja, det skulle jeg jo også mene..
 > >
 > Hmm, bruger ODBC eller OLEDB - eller?
 
 Not relevant, se ovenstående.
 
 --
 
 Med venlig hilsen/Best regards
 Stig Johansen
 Stig.Johansen@udvikling.it.dk
 (remove dot dk)
 
 
 
 
 
 |  |  | 
         Peter Lykkegaard (30-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  30-10-02 08:09
 | 
 |  | 
 
            Som svar på skriblerier nedfældet af Stig Johansen :
 > Profileren er en tilbagemelding fra serveren, ok IKKE en intercept fra
 > klient.
 Hmm, uanset hvor meget skod jeg laver i mine statements så kan jeg se dem i
 profileren
 Det kan også være at jeg husker totalt forkert og jeg henter SQL strengen
 fra script debuggeren
 Jeg vil lige prøve det af i løbet af i dag
 > Som du skriver, er det et uvurderligt værktøj hvis man bruger M$
 > SQLServer, men det er ikke et debugger værktøj.
 Nej, det har jeg heller ikke påstået    > Debug gøres ved at skrive statementet ud, og derefter kopiere det
 > over i Query Analyzer.
 >
 Jeps, jeg plejer at kopiere den fra Profileren eller Script Debuggerens
 intermediate vindue
 >>> Ja, det skulle jeg jo også mene..
 >>>
 >> Hmm, bruger ODBC eller OLEDB - eller?
 >
 > Not relevant, se ovenstående.
 >
 Hmmm, jeg tænkte at ODBC driveren måske returnede den fejl Snedker fik?
 Anyway som sagt vil jeg lige prøve det af
 mvh/Peter Lykkegaard
            
             |  |  | 
         Peter Lykkegaard (30-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  30-10-02 21:38
 | 
 |  | Som svar på skriblerier forfattet af Stig Johansen
 
 > Profileren er en tilbagemelding fra serveren, ok IKKE en intercept fra
 > klient.
 > Som du skriver, er det et uvurderligt værktøj hvis man bruger M$
 > SQLServer, men det er ikke et debugger værktøj.
 > Debug gøres ved at skrive statementet ud, og derefter kopiere det
 > over i Query Analyzer.
 >
 Du kan faktisk snildt få mange af de informationer som QA tilbyder frem i
 Profileren
 Fx execution plans/statistics, tablescans, duration etc
 
 Når du nu siger debugger er det så T-SQL Debuggeren i Visual Studio du
 tænker på eller?
 
 mvh/Peter Lykkegaard
 
 
 
 
 |  |  | 
          Stig Johansen (31-10-2002) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  31-10-02 06:12
 | 
 |  | Hej.
 
 Ja, det var måske lidt kort formuleret, men jeg havde  lidt travlt.
 Jeg prøver at uddybe lidt hvad tanken var.
 
 "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
 news:appfvl$su3$1@sunsite.dk...
 > Som svar på skriblerier forfattet af Stig Johansen
 >
 > > Profileren er en tilbagemelding fra serveren, ok IKKE en intercept fra
 > > klient.
 
 Dette var en hjælp til overblik til alle. Det var for at fortælle, at
 profileren ikke nødvendigvis behøver at køre på samme klient.
 
 > > Som du skriver, er det et uvurderligt værktøj hvis man bruger M$
 > > SQLServer, men det er ikke et debugger værktøj.
 
 Det her var for at give dig ret i, at det er et godt værktøj.
 
 > > Debug gøres ved at skrive statementet ud, og derefter kopiere det
 > > over i Query Analyzer.
 
 Det her var i virkeligheden et råd til at gøre udviklingen nemmere. Hvis man
 gør det under udviklingen, har man mulighed for løbende at checke sine
 statements, men også kvalitetssikre sine svartider, evt. køre en index
 analyse osv.
 
 > Når du nu siger debugger er det så T-SQL Debuggeren i Visual Studio du
 > tænker på eller?
 
 Jeg tænkte debug som begreb.
 
 --
 
 Med venlig hilsen/Best regards
 Stig Johansen
 Stig.Johansen@udvikling.it.dk
 (remove dot dk)
 
 
 
 
 
 |  |  | 
           Peter Lykkegaard (31-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  31-10-02 08:04
 | 
 |  | 
 
            Som svar på skriblerier nedfældet af Stig Johansen :
 > Ja, det var måske lidt kort formuleret, men jeg havde  lidt travlt.
 > Jeg prøver at uddybe lidt hvad tanken var.
   >
 > "Peter Lykkegaard" <polonline@hotmail.com> wrote in message
 > news:appfvl$su3$1@sunsite.dk...
 >> Som svar på skriblerier forfattet af Stig Johansen
 >>
 >>> Profileren er en tilbagemelding fra serveren, ok IKKE en intercept
 >>> fra klient.
 >
 > Dette var en hjælp til overblik til alle. Det var for at fortælle, at
 > profileren ikke nødvendigvis behøver at køre på samme klient.
 >
 Ja det er korrekt
 Profileren giver en hvis belastning på serveren
 Kan være en fordel at køre den på en anden box, hvos/når serveren er ved at
 dø pga tablescans og man har være et skodhoved
 Liden tue kan vælte stort læs    >>> Debug gøres ved at skrive statementet ud, og derefter kopiere det
 >>> over i Query Analyzer.
 >
 > Det her var i virkeligheden et råd til at gøre udviklingen nemmere.
 > Hvis man gør det under udviklingen, har man mulighed for løbende at
 > checke sine statements, men også kvalitetssikre sine svartider, evt.
 > køre en index analyse osv.
 Du kan køre få svartiderne direkte og lave indexanalyse i Profileren
 Overtid kan man samle et load i profileren og laden den gnaske loadet
 igennem efterfølgende
 Det giver en mere præcis ananlyse end QA kan tilbyde - imho    >
 >> Når du nu siger debugger er det så T-SQL Debuggeren i Visual Studio
 >> du tænker på eller?
 >
 > Jeg tænkte debug som begreb.
 >
 Det er ikke lige det jeg forstår ved debugning
 Ved debugning går man ind i sourcen og kan analysere/ændre værdier i
 variabler etc
 Her er print statements i øvrigt ganske gode - man skal bare huske at fjene
 dem igen - ellers får man multiple recordsets i VB/ADO
            
             |  |  | 
            Stig Johansen (01-11-2002) 
 
	
          | |  | Kommentar Fra : Stig Johansen
 | 
 Dato :  01-11-02 06:21
 | 
 |  | Hej.
 
 "Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
 news:_y4w9.4$741.385@news.get2net.dk...
 > > Jeg tænkte debug som begreb.
 > >
 > Det er ikke lige det jeg forstår ved debugning
 > Ved debugning går man ind i sourcen og kan analysere/ændre værdier i
 > variabler etc
 
 Ja, eller man kan skrive variabler ud på stdout/stdlist osv..
 Den kryptiske bemærkning gik ud på, at hvis man laver ordentlig kode, så har
 man ikke brug for debugging.
 
 --
 
 Med venlig hilsen/Best regards
 Stig Johansen
 Stig.Johansen@udvikling.it.dk
 (remove dot dk)
 
 
 
 
 
 |  |  | 
     Peter Lykkegaard (30-10-2002) 
 
	
          | |  | Kommentar Fra : Peter Lykkegaard
 | 
 Dato :  30-10-02 21:27
 | 
 |  | 
 
            Som svar på skriblerier forfattet af Snedker
 > On Tue, 29 Oct 2002 13:47:09 +0100, "Peter Lykkegaard"
 > <polonline@hot.mail.com> wrote:
 >
 >> Hver eneste gang man snubler over en SQL statement der ikke _burde_
 >> fejle, så kan man få megen hjælp ved at have Profileren kørende, for
 >> opsnappe hvad der bliver sendt til MSSQL
 >
 > Ja - bortset fra at mit statement aldrig nåede frem til Profileren..?
 > Under hvilken event burde jeg se det? Jeg har alt under TSQL med...
 >
 Det er det event der hedder SQL:BatchStarting
 Den kommer fint med når jeg lægger den (SQL-sætningen der fejl) ind i min
 egen scriptkode
 Det virker både fra QA og VBScript via OLEDB
 Normalt bruger jeg den template der hedder SQLProfilerTSQL
 Du skifter template i Tools -> Options -> General -> Template Name
 Jeg sad lige og legede med de forskellige templates og oprettede bland andet
 en ny, man kan fakstisk få Execution Plan og andre debuginformationer vist i
 Profileren, cool    Indtil nu har jeg "bare" brugt den til at cache SQLstatements så jeg kan
 arbejde videre med dem i QA
 mvh/Peter Lykkegaard
            
             |  |  | 
 |  |