Visual Studio, benötige SqlDbType.Cursor
In einer StoredProcedure auf dem SQL-Server: (Microsoft SQL Server Standard (64-bit), Version 14.0.2037.2) wird eine Variable genutzt. Nun soll diese StoredProcedure auch aus VB.NET aufgerufen werden und nicht nur von anderen SP des Servers. Die Variable wird vom VB.NET - Project dabei zwar nicht benötigt, wird aber beim Aufruf der SP aus dem Project verlangt.
Wie nun damit umgehen?
Beim Dataadapter.SelectCommand.Parameters.Add(New SqlParameter("@RückgabeCursor", SqlDbType. ??? oder wie auch immer sonst. ?
Auch als SqlDbType.nothing anzugeben oder hilfsweise einen anderen Typ, bringt immer Fehler. Kann man den Cursor als Typ benutzerdefiniert erzeugen ?
Möglicherweise ist das Problem auch anders zu "umgehen".
Danke für jede Mühe und Grüße von PCFJKG.
@RückgabeCursor CURSOR VARYING OUTPUT
@RückgabeCursor CURSOR VARYING OUTPUT
Wie nun damit umgehen?
Beim Dataadapter.SelectCommand.Parameters.Add(New SqlParameter("@RückgabeCursor", SqlDbType. ??? oder wie auch immer sonst. ?
Auch als SqlDbType.nothing anzugeben oder hilfsweise einen anderen Typ, bringt immer Fehler. Kann man den Cursor als Typ benutzerdefiniert erzeugen ?
Möglicherweise ist das Problem auch anders zu "umgehen".
Danke für jede Mühe und Grüße von PCFJKG.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator tomolpi am 20.06.2021 um 19:06:17 Uhr
Frage geringfügig formatiert
Content-ID: 752240624
Url: https://administrator.de/contentid/752240624
Ausgedruckt am: 24.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
Servus,
Auszug aus der Doku und dem hervorgehobenen Hinweis dazu
Und auch ein entsprechend ähnlicher Post bei Stackoverflow
https://stackoverflow.com/questions/63966353/reading-cursor-in-c-sharp-f ...
Schönen Rest-Sonntag
Uwe
Auszug aus der Doku und dem hervorgehobenen Hinweis dazu
Der Datentyp cursor kann nicht durch Datenbank-APIs, wie z. B. OLE DB, ODBC, ADO und DB-Library, an Anwendungsvariablen gebunden werden. Da OUTPUT-Parameter gebunden werden müssen, bevor eine Anwendung eine Prozedur ausführen kann, können Prozeduren mit cursor -OUTPUT-Parametern nicht aus den Datenbank-APIs heraus aufgerufen werden. Diese Prozeduren können von Transact-SQL -Batches, Prozeduren oder Triggern heraus aufgerufen werden, wenn die cursor -OUTPUT-Variable einer lokalen Transact-SQL - cursor -Variablen zugewiesen wird.
Quelle: Zurückgeben von Daten von einer gespeicherten ProzedurUnd auch ein entsprechend ähnlicher Post bei Stackoverflow
https://stackoverflow.com/questions/63966353/reading-cursor-in-c-sharp-f ...
Schönen Rest-Sonntag
Uwe
Zitat von @PCFJKG:
Hallo Uwe,
Dann wird es wohl nichts werden mit unsere Project. Die MS-SQL-Doku kannten wir zwar, aber manchmal gibt es doch findige Programmierer, die trotzdem eine Lösung gefunden haben. Du wirst aber recht haben und wir müssen uns etwas anderes einfallen lassen.
Du könntest bswp. eine weitere stored procedure schreiben die die andere als Wrapper aufruft und extern keinen Output Cursor verwendet. Oder einen Trigger anlegen der die Procedure bei einem Event automatisch anwirft. Möglichkeiten gibt es für sowas einige.Hallo Uwe,
Dann wird es wohl nichts werden mit unsere Project. Die MS-SQL-Doku kannten wir zwar, aber manchmal gibt es doch findige Programmierer, die trotzdem eine Lösung gefunden haben. Du wirst aber recht haben und wir müssen uns etwas anderes einfallen lassen.
Grüße Uwe