none
SPListItem von Externer in Benutzerdefinierte Liste kopieren | SPTimerJob | Visual Studio | C# RRS feed

  • Allgemeine Diskussion

  • Hallo,

    seit mehreren Tagen quäle ich mich bereits verzweifelt damit herum, meine SPListItems aus einer externen Liste via SPTimerJob in C# in eine Benutzerdefinierte Liste auf der selben Site zu kopieren. Die Daten der externen Liste kommen via SQL Verbindung und BDC Anwendung direkt aus unserer SQL Datenbank. Also war meine Idee, sämtliche Daten aus dieser externen Liste in eine Benutzerdefinierte Liste zu kopieren, um diese dort mit zusätzlichen Informationen zu versehen.(das ist das Ziel)

    Ich habe bereits mehrere TimerJobs erstellt und eigentlich ist das kopieren und bearbeiten der ListItems kein Problem, mit der externen Liste allerdings schon. Jedes mal, sobald im Code das erste SPListItem aus der externen Liste erreicht wird, "friert mein Visual Studio ein". Das schrittweise Debuggen ist ab diesem Zeitpunkt nicht weiter möglich, vorher wird jedoch alles problemlos ausgeführt. Kommentiere ich betroffene Zeile aus, erreicht der Code auch fehlerfrei sein ende.

    Mit anderen Custom Listen klappt identischer Code jedoch Problemlos, also müssen sich die SPListitems der beiden Listen ja irgendwie unterscheiden.
    Ich habe bereits mehrere Versuche gestartet aber egal ob via Query oder die List.Items direkt, es macht keinen Unterschied. Ich bekomme kein SPListItem aus der Externen Liste "gegriffen" und kann demnach auch nicht mit diesen Arbeiten, da mein Visual Studio im Code immer an dieser Stelle stehen bleibt. Eine Exception erhalte ich ebenfalls nicht, die Syntax habe ich bereits mehrmals überprüft um Tippfehler meinerseits auszuschließen.

    Die Spalten der externen Liste konnte ich in einer foreach Schleife mit  fields in list.Fields problemlos abrufen und der Custom List hinzufügen, warum ist das mit den ListItems nicht möglich?

    Würde mich um sämtliche Hilfestellungen und Lösungsansätze sehr freuen, bestenfalls ohne auf kaufbare Software zurückgreifen zu müssen.

    MFG

    YTMFB

    • Typ geändert Teodora MilushevaModerator Montag, 3. Oktober 2016 05:53 Die Threads die keine Aktivität haben, werden als Diskussion geändert. Das machen wir, um die Suche in dem Forum zu verbessern. Sie können den Typ jede Zeit ändern.
    Dienstag, 20. September 2016 13:11

Alle Antworten

  • Hi,
    ohne Deinen Code zu sehen, kann ich Dein Problem nicht analysieren. Üblicherweise lassen sich die Feldinhalte in ein ListItem einer anderen Liste kopieren. Warum das bei Dir nicht funktioniert, ist unklar.

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Warum Groß- und Kleinschreibung wichtig ist:
    Der Gefangene floh.
    Der gefangene Floh.

    Dienstag, 20. September 2016 15:37
  • Hallo, hier mein verwendeter Code:

    foreach (SPListItem item in SourceList.Items)
    {
     SPListItem itemToAdd = DestinationList.AddItem();

     foreach (SPField field in SourceList.Fields)
     {
      if ((!field.ReadOnlyField) && (field.InternalName != "Attachments"))
       itemToAdd[field.InternalName] = item[field.InternalName];
     }
     itemToAdd.Update();

    }
    DestinationList.Update();



    Auch wenn ich die erste Zeile durch " foreach (SPListItem item in Dienststellen.GetItems(query))" ersetze funktioniert es nicht.

    MFG

    YTMFB

    Mittwoch, 21. September 2016 05:42