Was ist die maximale Größe einer Datei, die ich mit Varbinary (max) in SQL Server 2008 R2 einfügen kann? Ich habe versucht, den Maximalwert in der Spalte auf mehr als 8.000 Bytes zu ändern, aber es lässt mich nicht, also ich schätze das Maximum ist 8.000 Bytes, aber von this article on MSDN, es sagt, dass die maximale Speichergröße ist 2^31- 1 Bytes:SQL Server 2008 R2 Varbinary Maximale Größe
varbinary [(n | max)]
variabler Länge Binärdaten. n kann ein Wert von 1 bis 8.000 sein. max zeigt an, dass die maximale Speichergröße 2^31-1 Byte beträgt. Die Speichergröße ist die tatsächliche Länge der eingegebenen Daten + 2 Bytes. Die eingegebenen Daten können 0 Byte lang sein. Das ANSI-SQL-Synonym für varbinary ist binär variierend.
Wie kann ich größere Dateien in einem varbinary Feld speichern? Ich erwäge nicht einen Filestream verwenden, da die Dateien, die ich von 200kb bis 1MB max sind gespeichert werden soll, wird der Code Ich verwende:
UPDATE [table]
SET file = (SELECT * FROM OPENROWSET (BULK 'C:\A directory\A file.ext', SINGLE BLOB) alias)
WHERE idRow = 1
ich in der Lage gewesen, dass Code erfolgreich auf Dateien auszuführen weniger oder gleich als 8000 Bytes. Wenn ich mit einer Datei 8001 Byte Größe versuche, wird es fehlschlagen. Mein Dateifeld in der Tabelle hat ein Feld namens "Datei" Typ varbinary(8000)
was ich wie gesagt nicht zu einem größeren Wert ändern kann.
Wie haben Sie es versucht? Können Sie den Code anzeigen, den Sie dazu verwendet haben, und die Tabellenstruktur für die Tabelle erstellen? Auch gibt es so etwas wie 'nvarbinary' nicht. –
Entschuldigung, ich meinte varbinary (max), ich habe auch den Code hinzugefügt, den ich verwendet habe, vielen Dank –
Haben Sie die Einstellungen für den Kompatibilitätsmodus überprüft? –