Was ist der beste Spaltentyp, um gemischte data in SQL server zu speichern

Wir machen eine Visual Foxpro (DBF) zur SQL server-Konvertierung, behalten aber die VFP-GUI, um jetzt die SQL server-database zu verwenden.

In mehreren Memofeldern in VFP speichern wir eine Mischung aus ASCII-character und Text.

Was wäre der beste Spalten-datatyp, um diese Werte vorzugsweise ohne CAST zu speichern?

Entlang dieser gleichen Linien haben wir auch timeen, in denen wir Word-Dokumente in eine Memo-file konvertieren, für diese, welche Feldart in SQL server würde am besten funktionieren?

Danke für Ihre Hilfe.

Es hängt von der Version von SQL server ab, die Sie verwenden. 2005 und neuere Unterstützung VARCHAR (MAX), die Strings bis zu 2GB speichern kann. Kurze Strings werden effizient gespeichert (in der Zeile), während größere Strings automatisch in einem Blob-databasebereich gespeichert werden, wobei nur ein pointers auf den in der Zeile gespeicherten Blob ist. Aus der Perspektive eines Entwicklers muss man sich keine Sorgen um diese Komplexität machen und VARCHAR (MAX) verwenden, wenn Ihre data 8000 character überschreiten können.

Wie für Ihre Word-fileen, hängt es davon ab, ob Sie die aktuelle file (im Binärformat) in der database oder nur den Inhalt speichern möchten. Im ersten Fall könntest du VARBINARY (MAX) verwenden (oder die file auf Festplatte speichern und nur den Pfad und andere file-Metadaten in SQL server). Wenn du den eigentlichen Inhalt speichern möchtest, musst du zuerst in ein bestimmtes Format (Rich Text, XML, etc.) konvertieren und dann in VARCHAR (MAX) speichern.

HINWEIS: Verwenden Sie NVARCHAR anstelle von VARCHAR, wenn Ihre data Unicode-character enthalten (anstatt nur ASCII)