2011-11-02 26 views
5
CREATE TABLE Uploads 
(
    id   uniqueidentifier NOT NULL PRIMARY KEY, 
    DI_Id  INT    NOT NULL, 
    FileData VARBINARY(Max) NULL, 
    sFileName nvarchar(50)  NOT NULL, 
    ContentType nvarchar(50)  NOT NULL 
) 

Intenté crear una tabla como la anterior.varbinary (max) datatype invalid

Produce un error incorrecto cerca de varbinary(max).

Si proporciono un tamaño de columna fijo como varbinary(100), no se produce ningún error.

¿Cómo puedo declarar varbinary(max) en SQL Server 2005?

+3

SQL Server 2005 debería ser compatible con esto: ¿está seguro de que no está haciendo esto en un SQL Server ** 2000 **? ¿O el nivel de compatibilidad de su base de datos está establecido en 80 (= SQL Server 2000)? –

+0

¿Qué mensaje de error? –

+0

Sintaxis incorrecta cerca de varbinary. – user993935

Respuesta

6

SQL Server 2005 hace asistencia VARBINARY(MAX).

O bien está ejecutando esta sentencia CREATE TABLE en una máquina SQL Server 2000, o su base de datos aún se encuentra en el nivel de compatibilidad = 80 (SQL Server 2000).

comprobar su nivel de compatibilidad con esta consulta:

SELECT name, compatibility_level 
FROM master.sys.databases 
WHERE name = 'yourdatabase' 

Si se produce un error al ejecutar esta consulta - que se está ejecutando en SQL Server 2000 :-)

Si su base de datos es el nivel 80, necesita actualizarlo al menos al nivel 90 (SQL Server 2005):

ALTER DATABASE YourDatabase SET COMPATIBILITY_LEVEL = 90 
+0

Ok, lo tengo Gracias. – user993935

+1

¿Cómo marcar la mejor respuesta en stackoverflow? – user993935

+0

@ user993935: vea esta publicación: [¿Cómo funciona la aceptación de una respuesta?] (Http://meta.stackexchange.com/q/5234/153998) –

Cuestiones relacionadas