Jaki jest maksymalny rozmiar pliku, który mogę wstawić przy użyciu varbinary (max) w SQL Server 2008 R2? Próbowałem zmienić maksymalną wartość w kolumnie na więcej niż 8 000 bajtów, ale nie pozwala mi to, więc domyślam się, że maksymalna to 8 000 bajtów, ale od this article on MSDN, mówi ona, że maksymalny rozmiar pamięci to 2^31- 1 bajtów:SQL Server 2008 R2 Varbinary Max Size
varbinary [(n | maks)]
zmiennej długości danych binarnych. n może mieć wartość od 1 do 8 000. max wskazuje, że maksymalny rozmiar pamięci to 2^31-1 bajtów. Rozmiar pamięci to rzeczywista długość wprowadzonych danych + 2 bajty. Wprowadzone dane mogą mieć długość 0 bajtów. Nazwa ANSI SQL dla varbinary jest zmienna binarna .
Jak mogę przechowywać większe pliki w polu varbinary? Ja nie rozważa wykorzystanie FILESTREAM ponieważ pliki Chcę zapisać się od 200kb do 1MB max Kod używam:
UPDATE [table]
SET file = (SELECT * FROM OPENROWSET (BULK 'C:\A directory\A file.ext', SINGLE BLOB) alias)
WHERE idRow = 1
byłem w stanie wykonać ten kod z powodzeniem do plików mniejsza lub równa niż 8000 bajtów. Jeśli spróbuję z plikiem o rozmiarze 8001 bajtów, to się nie powiedzie. Moje pole pliku w tabeli ma pole o nazwie "file" typ varbinary(8000)
, które, jak powiedziałem, nie mogę zmienić na większą wartość.
Jak próbowałeś? Czy możesz pokazać kod użyty do tego i strukturę tabeli dla tabeli? Również nie ma czegoś takiego jak "nvarbinary". –
Niestety chodziło mi o varbinary (max), dodałem również kod, którego użyłem, dziękuję bardzo –
Czy sprawdziłeś ustawienia trybu zgodności? –