Announcement

Collapse
No announcement yet.

VS 2005 Datenquelle mit geänderter Datenbank

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VS 2005 Datenquelle mit geänderter Datenbank

    Hallo!

    Ich habe folgendes Probelm:
    Wenn ich die Datenbank (den Datenbanknamen) ändere, so mault der "Assistent zum Konfigurieren von Datenquellen". Er behauptet, dass das Objekt nicht in der Datenbank vorhanden ist (siehe Bild).
    Die Anwendung läuft jedoch ohne Probleme (Warum sollte sie auch nicht. Es wurde nur der Name der Datenbank geändert).
    Wenn ich für den TableAdpapter "Konfigurien..." anwähle, so werden die Objekte auch wieder gefunden. Wenn man sich die XSD-Datei anschaut, so ist zu erkennen, das ein Verweis auf den alten Datenbanknamen gespeichert wird.
    Gibt es eine Möglichkeit ohne das Aufrufen der Konfiguration die falschen Einträge in der XSD-Datei zu bereinigen?

    mfg
    Thomas Sparenberg
    Attached Files

  • #2
    In der XSD stehen keine Datenbanknamen.
    Da sollte sich eigentlich nur ein Verweis auf einen Connectionstring in den Settings befinden.

    Falls also dein Connectionstring nicht mehr stimmt solltest du diesen einfach korrigieren. In den Projektoptionen im Tab Settings.

    Comment


    • #3
      Hallo!

      An den ConnectionString liegt es nur indirekt. Ich habe den Datenbanknamen geändert bzw. arbeite mit unterschiedlichen Datenbanken. Der Connectionstring wurde korrekt angepaßt.
      Wenn ich mir den Inhalt der xsd-Datei anschaue, so ist zwar die Referenz auf meinen ConnectionString enthalten aber auch ein Verweis auf CellaBatch.dbo.AuftragBatch (siehe unten).

      <DbSource ConnectionRef="CellaBatchConnectionString (Settings)" DbObjectName="CellaBatch.dbo.AuftragBatch" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="True" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset"

      Ich suche nun nach einer Möglichkeit diese Verweise zu aktuallisieren.

      mfg
      Thomas

      Comment


      • #4
        CellaBatch in DbObjectName ist der Datenbankname? Das war blöd.
        Bleibt die wohl nur, wenn du die Datenbank zum Designen änderst, das per suchen und ersetzen in der Dataset.xsd nachzuziehen.

        Comment


        • #5
          Hallo!

          Ja, CellaBatch ist der Datenbankname. Im Moment öffne ich den TableAdapter (bzw. die Konfiguration) und speichere diese ohne Änderung. Dann wird anscheinend der neue Datenbankname eingetragen.
          Dieses ist jedoch nicht sehr erfreulich! Ich würde das nicht gerade als innovative Lösung für eine Entwicklungsumgebung bezeichnen, wenn diese den Datenbanknamen (Tabelle ist ja OK) abspeichert, obwohl eigentlich die Flexibilität eines Connectionstrings angestrebt wurde!!!!!!!!!!!!!!!!!!!!!!!!

          mfg
          Thomas Sparenberg

          Comment


          • #6
            Code:
            Ich würde das nicht gerade als innovative Lösung für eine Entwicklungsumgebung bezeichnen, wenn diese den Datenbanknamen (Tabelle ist ja OK) abspeichert, obwohl eigentlich die Flexibilität eines Connectionstrings angestrebt wurde!!!!!!!!!!!!!!!!!!!!!!!!
            Das Problem betrifft ~nur~ den Designer zur Laufzeit ist das ja kein Problem.
            Trotzdem geb ich dir Recht ist das doof. Wäre interessant zu wissen warum er das überhaupt speichert, sowohl Datenbank als auch Tabelle. Bei mir steckt im SQL hinter dem Tableadapter meistens mehr als eine Tabelle (oder auch mal keine).

            Comment


            • #7
              Hallo,

              Ich suche nun nach einer Möglichkeit diese Verweise zu aktuallisieren.
              Eine automatische Anpassung des TableAdpaters (typisiertes DataSet) setzt voraus, dass in Visual Studio Team System 2008 Database Edition die Solution aus der Klassenbibliothek des TableAdapters und dem Datenbank-Projekt von VSTSDB besteht. Wird dann in VSTSDB die Funktion Refactor | Rename für ein Datenbankobjekt aufgerufen, sychronisiert Visual Studio automatisch alle Projekte der gleichen Solution (siehe die angehängte Abbildung).
              Attached Files

              Comment


              • #8
                |DataDirectory|

                meine Erfahrung mit diesem Problem:

                falls man in Settings.Settings den Wert der Verbindungszeichenfolge für die Datenquelle des DataSets ändert, wird für den Pfad zur DataSource unter bestimmten Umständen (= wenn sich die Projektsdatei und die Datenquelle (zB.: Access.mdb) im selben Verzeichnis befinden), statt des vollständigen Pfades einfach Data Source = |DataDirectory|/MeineDatenBank.mdb eingetragen.

                Das führt dazu, dass die Update-Commands nicht oder nicht richtig mit der Datenbank in Verbindung treten können. Interessanterweise gibt es keine Meldung, dass etwas nicht ordnungsgemäß ausgeführt wurde.

                Wenn man |DataDirectory| durch die Zeichenfolge für den Pfad zur Datenbank ersetzt, funktioniert alles einwandfrei.

                Ich sage nur BUG!

                diesmal

                Gruß
                Christian
                Zuletzt editiert von cb4866; 23.08.2008, 10:26. Reason: corr.

                Comment

                Working...
                X