Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten
Autor
Nachricht
mibock
Newbie
Newbie

Anmeldedatum: 06.02.2011
Beiträge: 2

Webservice-Result als XML-Datei und in eine DB speichern
Verfasst am: 06.02.2011, 11:05

Dies ist hier mein erster Beitrag, und ich möchte gleich anmerken, daß ich mich nach dem Durchlesen diverser VB.NET-Büchern das erste Mal in die Praxis begebe. Daher hoffe ich, daß meine Frage nicht allzu trivial klingt.

VB.NET in der Professional-Version 2008:

Ich habe erfolgreich über die WSDL eines Webservice, diesen Webservice angebunden. DotNet erzeugte mir automatisch dazugehörigen Code und ermöglicht mir auf sämtliche Eigenschaften und Methoden des Webservice zuzugreifen.

Auf diese Weise kann ich die Inputparameter des Webservice füllen, ihn über seine Aufrufmethode ansprechen und bekomme nach einiger Zeit ein Ergebnis zurück, welches verschachtelte Datenmengen enthält, die ich wiederum Datensatz für Datensatz in zugehörige, unterschiedliche Tabellen, z.B. in eine Access-DB, zurückschreiben kann (die Tabellen sind per Tableadapter als Datenquelle verknüpft) .

Soweit so gut... Funktioniert prima, aber das Wegschreiben der Daten ist leider sehr sehr langsam.

Beispiel:

die DB-Tabelle heisst t_Message. WebserviceTabs_dotNetDataSetTableAdapters stellt mir DotNet wegen der Datenquelle zur Verfügung. WSResult ist das Ergebnis des Webservice.

Dim oM_A = New WebserviceTabs_dotNetDataSetTableAdapters.t_MessageTableAdapter

For lngI = 0 To WSResult.MESSAGES.Length - 1
With WSResult.MESSAGES(lngI)
oM_A.Insert(.TYPE, .MSG_NUMBER, .MESSAGE)
End With
Next


Ich frage mich jetzt folgendes:

1. Wie kann ich das Ergebnis (=Resultmenge), die ja "eigentlich" vom Webservice wohl als XML angeliefert und durch DotNet in Klassen, Eigenschaften und Methoden umgesetzt wird (die ich direkt ansprechen kann), in eine XML-Datei wegschreiben?
Es wäre super, wenn das mit einem kleinen Codebeispiel verbunden wäre. Meine Frage betrifft also ganz allgemein einen beliebig verknüpften Webservice und wie man ein Resultset nach Aufruf der Webservicemethode dann in eine XML-Datei wegschreiben kann.

2. Eine wahrscheinlich ähnliche Frage betrifft das Wegschreiben der Daten in eine Datenbank. Ich frage mich, ob ich die Daten irgendwie performant wegschreiben kann? Also "auf einen Schlag".
Bei meiner oben beschriebenen Methode scheint ein immenser Overhead zu entstehen, der das ganze so verlangsamt. Ich frage mich, ob die Daten intern nicht sowieso als Dataset vorliegen, dem man dann irgendwie mitteilen kann, an welche Tabelle er "komplett" seine Daten senden soll.
Das klingt jetzt sicherlich naiv, aber eventuell ist es ja so einfach. Um die Frage also allgemeiner zu formulieren: wie schreibt Ihr die Ergebnisse eines Webservice performant in eine (beliebige) Datenbank weg? Toll wäre auch hier ein Codebeispiel.

In der Hoffnung auf hilfreiche Antworten.

Michael
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Fragen - Antworten

Tags: sehr langsam, xml, speichern, datenbank, senden

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: Filebrowser z.B. für ein RAT 2206 13.01.2008, 12:14
Keine neuen Beiträge msgbox mit symbol _&_ z.B. yesno oder systemmodal 1156 27.09.2008, 00:16
Keine neuen Beiträge Abändern eines Ordnernamens (z.B. C:\Programme = Programme) 1295 23.04.2008, 16:33
Keine neuen Beiträge "Zurück-Funktion" mit Listview und z.B. DirView 823 17.04.2008, 14:30
Keine neuen Beiträge Fenster auslesen z.b von icq oder msn wer online kommt 1336 11.02.2008, 17:46
 


[ Time: 0.1050s ][ Queries: 80 (0.0435s) ][ GZIP on - Debug on ]