Announcement

Collapse
No announcement yet.

Text auf 4000 Zeichen begrenzt

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

  • Text auf 4000 Zeichen begrenzt

    Hallo,
    ich habe mit dem SQL Server Management Studio 2005 SP2 das Problem, dass ich mit "Edit Table - Tabelle" für Columns den Datentyp nvarchar wählen kann, unter "Length" aber nur numerische Eingaben zulässig sind. Die von MS angegebene Verfahrensweise, für "Large Columns" den Eintrag auf "max" zu setzen geht nicht. Es erscheint die Fehlermeldung:

    TITEL: Microsoft SQL Server Management Studio
    ------------------------------
    This field will only accept a valid number - a series of digits (0-9). (Microsoft.SqlServerCe.Express.ManagementUI)


    Auch Eingaben > 4000 werden angemeckert.
    Eigentlich wollte ich nur Memo-Columns wie bei Access97 anlegen.

    Weiß jemand, wie´s geht?
    Werner

  • #2
    Nimm den Datentyp ntext.

    Alle nvarchar's, int, ...-Felder eines Datensatze im MS-SQL-Server dürfen maximal ca. 8100 Bytes groß werden.

    Comment


    • #3
      Danke für den Hinweis,
      nur weist MS darauf hin, dass der Datentyp ntext und noch ein paar weitere in naher Zukunft nicht mehr unterstützt werden. (image z.B. soll durch varbinary(max) abgelöst werden)
      Auch kann man die ntext-Felder inzwischen keinen STRING-Operationen unterwerfen. Diese Vorgehensweise ist also nur suboptimal.
      MS erlaubt bei nvarchar die eintragbare Länge von 4000; wenn das nicht reicht, soll man bei Length "max" eintragen, dann kann die Länge bis zu 4 GB betragen.
      Werner

      Comment


      • #4
        Kannst du mir einen link darauf geben das ntext nicht mehr unterstützt werden soll bzw. darauf das mit "max" man 4GB unterstützt?

        Comment


        • #5
          nvarchar(max)

          Schau mal hier nach:
          http://msdn2.microsoft.com/en-us/library/ms189574.aspx

          Ich habe mehrere Hinweise dazu letzte Nacht im Netz gefunden, bei denen auch der Bezug auf ntext gestanden hat (meine ich, mich zu erinnern). ntext ist, denke ich, die Unicode-Version für text.

          Übrigens: es sind nur 2 GB, nicht 4 GB mit "max".

          Werner

          Comment


          • #6
            Hmm. Das heißt MS will wieder eine neue Fehlerquelle einbauen.
            Wenn ich jetzt nvarchar(max) nehme und irgendein Admin denkt er müßte diese für kleine werte In-Row speichern lassen wird der restliche verfügbare Platz im "Max-8060-Bytes-Record-Page" nicht größer und ich steh als Entwickler mal wieder im Regen weil ich keinen Platz mehr für meine "wirklichen" nvarchar's finde.

            Comment


            • #7
              nvarchar(max) nicht für PDAs

              Ich hab´s gefunden:
              Ich habe als Neuling, ohne es zu merken oder zu wollen, eine DB für Mobile devices (PDA o.ä), Typ*.sdf, angelegt.
              Der Servertyp heißt Server Everywhere Edition, der dann "Compact" DBs erzeugt. Hätte man auch mal ins Handbuch schreiben können, dass damit Geräte für WindowsCE etc. gemeint sind. Ein Notebook fällt offensichtlich nicht unter den Begriff "Everywhere".
              Jedesfalls läßt dieser Servertyp kein nvarchar(max) zu, was aber nirgendwo steht.
              (Auf einem PDA kann ich mir durchaus Datenfelder mit mehr als 8 kB vorstellen; mich erinnert´s fatal an die Herren von Texas Instruments, die Ende der ´70 Jahre das PC-Datum erfunden haben und wahrscheinlich eine Prämie bekommen haben, weil sie im Datum 2 Byte eingespart haben...)
              Zum importieren von sdf-DB und konvertieren in mdf habe ich nichts gefunden und muß darum die Strukturen neu eingeben.
              Aber vielen Dank für die Hilfe
              Werner

              Comment


              • #8
                MS SQL-Server hat 'ne 8 kByte Grenze, MySQL kann maximal 255 Zeichen in einem Varchar speichern und Oracle kann 2000 Zeichen hat einen Clob-Datentyp welcher zufälligerweise je nach Versionskombinatiion Server/Client funktioniert oder auch nicht. Es gibt nunmal noch nicht das perfekte DBMS.

                Comment

                Working...
                X