Announcement

Collapse
No announcement yet.

gbak -c -n klappt nicht

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

  • gbak -c -n klappt nicht

    Hallo,<p>
    ich habe dummerweise ein ein NOT NULL Feld in eine existierende Tabelle eingetragen, wo schon Datensätze drin waren.
    Ein restore klappt jetzt nicht mehr, weil in den alten Datensätzen ebend NULL-Werte stehen.
    <p>
    Aber Heiko ist clever !
    <br>
    gbak -c -n (no validity check) !
    <p>
    Tja, klappt aber ebenfalls nicht, gleiche Fehlermeldung wegen NULL.
    <br>
    Ich dachte gerade dafür wäre das -n ?
    <p>
    Zum Glück läuft die gdb noch, also habe ich die NULL-Felder per update gefüllt, aber warum geht das -n nicht ?
    <p>
    Danke im voraus
    <br>
    Heiko

  • #2
    Hallo Heiko,<br><br>
    das Verhalten, das Du erwartet hättest, wurde in InterBase 7.1 mit dem neuen <b>-va</b> Schalter von gbak.exe eingeführt. Ich gebe aber zu, dass der -n Schalter hier verwirrend beschrieben ist, d.h. ich kann Dir nicht sagen, wo jetzt genau der Unterschied liegt. Das läßt sich aber herausfinden. ;-)
    <br><br>
    Thoma
    Thomas Steinmaurer

    Firebird Foundation Committee Member
    Upscene Productions - Database Tools for Developers
    Mein Blog

    Comment


    • #3
      Hallo Thomas,<p>
      das ein Backup fehlschlagen kann, hat der Andreas Kosch in seinem Buch ja fein beschrieben. <br>
      Dabei ging es aber um default-werte, die Umlaute enthielten.
      <br>
      Ich bin jetzt gewarnt, niemals wieder packe ich not null in ne interbase db, es sei denn es ist der primärschluessel.
      <p>
      Heik

      Comment


      • #4
        Hallo Heiko,<br><br>
        &gt; Ich bin jetzt gewarnt, niemals wieder packe ich not null in ne interbase db, es sei denn es ist der primärschluessel.
        <br><br>
        Meiner Meinung eine komplett falsche Einstellung, weil es eine Unmenge an Beispielen gibt, wo man ein Feld auf <b>Datenbankebene</b> mit NOT NULL definieren sollte, und dies nicht der Clientanwendung überlassen darf.<br><br>
        NOT NULL Felder funktionieren einwandfrei, und sind notwendig. Dein Problem läßt sich ja darauf reduzieren, dass ein NOT NULL Feld nachträglich zu einer Tabelle hinzugefügt wurde die bereits Datensätze enthält. Definiere
        für das NOT NULL Feld einfach einen DEFAULT Wert <b>UND</b> führe danach ein explizites Update Statement für dieses Feld aus, und Du bist auf der sicheren Seite. Ich würde nie und nimmer auf NOT NULL Felder verzichten. ;-)
        <br><br>
        Thoma
        Thomas Steinmaurer

        Firebird Foundation Committee Member
        Upscene Productions - Database Tools for Developers
        Mein Blog

        Comment


        • #5
          Naja,<br>
          dann müsste ich ja meine tolle Update-Routine aus den guten alten Paradox-Zeiten mal ändern ..
          <p>
          Heik

          Comment

          Working...
          X