Toon posts:

MS SQL server queries loggen

Pagina: 1
Acties:
  • 50 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoe kan ik SQL server de queries, die ik vanuit een asp-pagina stuur, laten loggen? Deze functie lijkt me handig met het debuggen. Ik weet dat er in MySQL een dergelijke functie zit, maar ik heb deze in MS SQL server nog niet kunnen vinden. Hebben jullie nog andere tips voor het debuggen van ingewikkelde queries met veel variabelen erin?

Voorbeeldje van een querie met veel variabelen:

strSQL = "UPDATE document "
strSQL = strSQL & "SET "
if IsNull(nParentDocID) then
strSQL = strSQL & "parent_document_id = null"
else
strSQL = strSQL & "parent_document_id = " & nParentDocID
end if
strSQL = strSQL & ",category_id = " & nCatID
strSQL = strSQL & ",template_id = " & nTemplateID
strSQL = strSQL & strSQLPosition
strSQL = strSQL & ",title = '" & replace(sTitle,"'","''") & "'"
strSQL = strSQL & ",sub_title = '" & replace(sSubTitle,"'","''") & "'"
strSQL = strSQL & ",link_text = '" & replace(sLinkText,"'","''") & "'"
strSQL = strSQL & ",abstract = '" & replace(sAbstract,"'","''") & "'"
strSQL = strSQL & ",content = '" & replace(sContent,"'","''") & "'"
strSQL = strSQL & ",search_keywords = '" & replace(sSearchKey,"'","''") & "'"
strSQL = strSQL & ",search_description = '" & replace(sSearchDesc,"'","''") & "'"
strSQL = strSQL & ",last_updated_by = " & nUserID
strSQL = strSQL & ",checked_out_by = null"
strSQL = strSQL & ",date_checked_out = null"
strSQL = strSQL & ",date_last_updated = #" & ConvertDate(now()) & "#"
strSQL = strSQL & ",document_status = 'checked-in'"
strSQL = strSQL & ",approval_status = 'working'"
strSQL = strSQL & ",file_name = '" & replace(sFileName,"'","''") & "'"
strSQL = strSQL & ",version = '" & sVersion & "'"
if IsNull(dStartDate) then
strSQL = strSQL & ",date_start=null"
else
strSQL = strSQL & ",date_start=#" & ConvertDate(dStartDate) & "#"
end if
if IsNull(dEndDate) then
strSQL = strSQL & ",date_end=null"
else
strSQL = strSQL & ",date_end=#" & ConvertDate(dEndDate) & "#"
end if
strSQL = strSQL & ",[public] = '" & sPublic & "'"
strSQL = strSQL & ",note = '" & replace(sNote,"'","''") & "' "
strSQL = strSQL & ",hidden = '" & sHidden & "' "
strSQL = strSQL & ",type = '" & sType & "' "
strSQL = strSQL & "WHERE document_id = " & nDocID

Zie hier maar eens snel de fout uit te halen. Wanneer je de (foutieve) ingevulde querie echter uit SQL server kan halen, dan zou de fout veel makkelijker te vinden zijn.

Bij voorbaat dank ;)

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Daar kun je SQL Server Profiler voor gebruiken, onderdeel van SQL Server

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Je zou, tijdens debuggen, de Profiler kunnen laten meelopen. Dan zie je zo je query, met variabelen over op je beeld.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Om activiteiten op de database in de gaten te houden kan je profiler gebruiken.

Als je alleen de query naar het scherm wil schrijven kan je ook een functie schrijven die als wrapper fungeert voor het uitvoeren van de query. Als je daar de sql-string aan doorgeeft zou je in "debug-mode" de query kunnen schrijven naar het scherm ipv uitvoeren.

[ Voor 6% gewijzigd door Annie op 06-05-2005 13:06 . Reden: i.k...t.i.k...t.e...t.r.a.a.g... ]

Today's subliminal thought is:


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Oftewel, Profiler dus gebruiken al dan niet in combinatie met QA :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Dit topic is gesloten.