Assistent zum Konfigurieren von Datenquellen will einzelne Tabelle neu erzeugen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von DahProgrammah.

    Assistent zum Konfigurieren von Datenquellen will einzelne Tabelle neu erzeugen

    Hallo zusammen,

    Ich habe ein bestehendes Projekt, bei dem sich etwas an der DB geändert hat, das ich aber nicht mehr automatisch in das Dataset übernehmen kann (Visual Studio 2012).
    Bisher habe ich Änderungen an Feldern aus der MS SQL-Server DB immer dadurch übernommen, dass ich auf dem DataSet den Assistent zum Konfigurieren von Datenquellen aufgerufen habe, ein grau unterlegtes Häkchen zeigte die betroffenen Tabellen an, in denen sich etwas getan hatte, eine z.B. neue Spalte hatte keinen Haken, haken rein, Assistent durchlaufen lassen, neue Spalte ist in der DataTable mit den Parametern der DB vorhanden. (Natürlich kann man das auch manuell gleichziehen, dauert bei mehrere
    Jetzt kommt vor der Anzeige der Tabellen diese neue Nachfrage:

    DataSet-Editor auswählen
    Das ausgewählte DataSet enthält Objekte, die nur mit dem DataSet-Designer angezeigt werden können.
    Möchten Sie den Assistenten fortsetzen oder das DataSet im DataSet-Designer bearbeiten?
    - Im DataSet-Designer bearbeiten
    - Mit dem Assistenten fortfahren


    Beim 1. Pukt stehe ich wieder im Designer, beim 2. Punkt erscheinen die Tabellen, aber bei einer (bei der in der DB eine Spalte dazugekommen ist), fehlt der Haken ganz! Setze ich diesen, steht hinter dem Tabellennamen "Bahnhof -> Bahnhof1", d.h. der Assistent würde eine neue Tabelle Bahnhof1 anlegen und nicht die vorhandene aktualisieren!
    Ich habe mir die dem Designer zugrundeliegende .xsd-Datei schon angeschaut, dort sehe ich nicht, warum VS meint, dass die im Dataset vorhandene nicht mehr mit der in der Datenbank verknüpft ist.

    Hat da jemand eine Idee?
    Danke & viele Grüße
    Micha
    Ich mache das generell so, Änderung zuerst in der DB, damit es mit den Altdaten auch stimmt, dann den Assi auf dem Dataset laufen lassen, er erkennt die ganzen Änderungen und trägt sie im Dataset nach - was nicht heißen will, dass das der Königsweg ist, das geht sicher auch andersrum, wie so oft...
    Mein verfahren klappt allerdings nicht bei allen Änderungen in der DB, manches muss man in VS manuell nacharbeiten. Vorsichtshalber lasse ich mir die Statements der Tableadapter auch neu erzeugen, da haben die Automatismen von VS auch schon versagt.
    Zu Deiner Frage: Ich habe keine Ahnung, was alles an meiner Programmierung, die ja stark auf dem Dataset, dessen Tables, den darauf aufsetzenden Bindingsources... basiert, nicht mehr funktioniert, wenn ich das Dataset lösche und neu erzeugen lasse - war bisher einfach nicht mutig genug, sowas tiefgreifendes zu versuchen ;(
    Ich werde es mal versuchen, aber nicht jetzt...

    Einen Workaround habe ich entdeckt: Im Kontextmenü des Tableadapters "Konfigurieren...", dann mal den Abfragegenerator aufrufen. Dort erscheint dann z.B. eine neue Spalte aus der DB, baut sie in die Statements ein und nach dem Schließen des Table-adapter Konfigurations-Assistenten ist die Spalte dann in der Table auch drin - aber das muss man dann für alle einzelnen TableAdapters machen - rufe ich den Assistenten auf dem Dataset auf, wird das für alle Tabellen auf einen Schlag durchgeführt.

    Zu den Backups:
    Backups mache ich eh ständig, weil es mir schon mehrfach Projekte zerschossen hat - meist im Zusammenhang mit dem Form-Designer, der plötzlich nicht mehr aufgeht oder Fehler wirft - dann bloss keine der angebotenen Lösungsmöglichkeiten durchführen, sondern VS am besten runterfahren ohne Änderungen zu speichern und hoffen, dass es danach wieder startet... ?(