sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2008 R2 varbinær maks. størrelse

Jeg kan ikke gengive dette scenarie. Jeg prøvede følgende:

USE tempdb;
GO

CREATE TABLE dbo.blob(col VARBINARY(MAX));

INSERT dbo.blob(col) SELECT NULL;

UPDATE dbo.blob 
  SET col = (SELECT BulkColumn 
    FROM OPENROWSET( BULK 'C:\Folder\File.docx', SINGLE_BLOB) alias
  );

SELECT DATALENGTH(col) FROM dbo.blob;

Resultater:

--------
39578

Hvis dette bliver begrænset til 8K, vil jeg gætte på, at et af følgende er sandt:

  1. Kolonnen er faktisk VARBINARY(8000) .

  2. Du vælger dataene i Management Studio og analyserer længden af ​​de data, der vises der. Dette er begrænset til et maksimum på 8192 tegn i resultater til tekst, hvis dette er tilfældet, så brug DATALENGTH() direkte mod kolonnen er en meget bedre tilgang.



  1. Oracle indsæt, hvis række ikke eksisterer

  2. Fremskynd tekstsammenligninger (funktionsvektorer) med rumlige MySQL-funktioner

  3. Hvordan forhindrer man BOB i at fortolke et spørgsmålstegn som en pladsholder?

  4. Bizar fejl ved forsøg på at oprette forbindelse til databasen