Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Fel vid exekvering av SP med SQLOLEDB provider

Postades av 2003-04-16 15:03:00 - Magnus Andersson, i forum sql-server/msde, Tråden har 4 Kommentarer och lästs av 857 personer

Hej!

Jag har en applikation som exekverar en ganska komplex SP via ADO commandobjekt. SP'n använder en del cursors och och anropar i sin tur andra SP's. När jag exekverar den i Query Analyzer så fungerar det utmärkt. När jag exekverar den i VB via ADO så fungerar det med tidiga versioner av SQLOLEDB men ej med senare versioner tex Win XP (MDAC 2.7?). Byter jag provider för connection objektet till MSDASQL så fungerar det. Felmeddelandet från SP'n är "-2147467259 Unspecified error".

Är det någon som råkat ut för något liknande?

/Magnus


Svara

Sv: Fel vid exekvering av SP med SQLOLEDB provider

Postades av 2003-04-16 15:26:19 - Magnus Andersson

Såg att man redan diskuterat ett liknande problem redan. Jag har testat med att sätta SET NOCOUNT ON i min SP, men tyvärr så fungerar det inte. Om jag inte minns fel så gäller ett SET kommando för hela exekveringen, dvs även i anrop till under-SP (dvs i första SP finns SET NOCOUNT ON, sen när denna SP anropar en annan så gäller SET NOCOUNT ON även där?)

/Magnus


Svara

Sv: Fel vid exekvering av SP med SQLOLEDB provider

Postades av 2003-04-16 15:38:11 - Christoffer Hedgate

Det stämmer, SET NOCOUNT gäller för hela sessionen. Låter som en bugg i MDAC. Kan du precisiera vad i din SP som gör att det ej fungerar, typ genom att ta bort delar av koden och testa?


Svara

Sv: Fel vid exekvering av SP med SQLOLEDB provider

Postades av 2003-04-16 16:01:45 - Magnus Andersson

Det är nog det man får göra, eftersom man inte kan debugga i QA (det fungerar ju där).

/Magnus


Svara

Sv: Fel vid exekvering av SP med SQLOLEDB provider

Postades av 2003-04-17 11:57:56 - Magnus Andersson

Hej!

Nu har jag funnit vad som orsakade felet. Tänkte skriva ifall någon annan är intresserad. Bakgrunden är att jag med en dynamisk SQL sträng vill kontrollorera om en post existerar eller ej. Normalt skulle jag använda IF EXISTS() men detta får jag inte till med en dynamisk SQL sträng. Därför använder jag en dynamiskt deklarerad cursor:

SET @p_Sel='SELECT * FROM ' + @p_ToTable + ' WHERE ' + @p_ToKeyValue
EXECUTE('DECLARE rsTemp CURSOR STATIC READ_ONLY FOR ' + @p_Sel)
OPEN rsTemp
FETCH NEXT FROM rsTemp
IF @@FETCH_STATUS <> -1
BEGIN
SET @p_Update=1
END
ELSE
BEGIN
-- Record don't exists i ToTable
SET @p_Update=0
END
---SNIP---

Denna variant fungerar felfritt med MSDASQL och tidiga versioner av SQLOLEDB. Med nyare versioner av SQLOLEDB höjs ett fel i ADO Command objectet. MEN stored proceduren har dock exekverats felfritt! Det enda är att jag i VB-klienten får ett felmeddelande.

Denna variant (det som är ändrat är SQL-satsen och FETCH NEXT...) fungerar även på nyare SQLOLEDB versioner. Problemet löstes alltså när man hämtade ett värde från cursorn och la i en variabel.

SET @p_Sel='SELECT ''Q'' AS FLD FROM ' + @p_ToTable + ' WHERE ' + @p_ToKeyValue
EXECUTE('DECLARE rsTemp CURSOR STATIC READ_ONLY FOR ' + @p_Sel)
OPEN rsTemp
FETCH NEXT FROM rsTemp INTO @FldVal
IF @@FETCH_STATUS <> -1
BEGIN
SET @p_Update=1
END
ELSE
BEGIN
-- Record don't exists i ToTable
SET @p_Update=0
END
---SNIP---

/Magnus


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
5 763
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies