2011-11-02 50 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 
) 

Tôi đã cố gắng tạo một bảng như trên.kiểu dữ liệu biến thiên (tối đa) không hợp lệ

Sản xuất lỗi không chính xác gần varbinary(max).

Nếu tôi cung cấp kích thước cột cố định như varbinary(100) thì không xảy ra lỗi.

Làm cách nào để khai báo varbinary(max) trong SQL Server 2005?

+3

SQL Server 2005 phải hỗ trợ điều này - bạn có chắc là bạn không làm điều này trên SQL Server ** 2000 ** ?? Hoặc là mức độ tương thích của cơ sở dữ liệu của bạn được đặt thành 80 (= SQL Server 2000) ?? –

+0

Thông báo lỗi nào? –

+0

Cú pháp không chính xác gần varbinary. – user993935

Trả lời

6

SQL Server 2005 không hỗ trợ VARBINARY(MAX).

Hoặc bạn đang thực hiện câu lệnh CREATE TABLE này đối với máy SQL Server 2000 hoặc cơ sở dữ liệu của bạn vẫn ở mức tương thích = 80 (SQL Server 2000).

Kiểm tra cấp độ tương thích của bạn với truy vấn này:

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

Nếu bạn nhận được một lỗi chạy truy vấn này - bạn đang chạy với SQL Server 2000 :-)

Nếu cơ sở dữ liệu của bạn là level 80, bạn cần phải nâng cấp nó lên ít nhất cấp 90 (SQL Server 2005):

ALTER DATABASE YourDatabase SET COMPATIBILITY_LEVEL = 90 
+0

Ok OK. – user993935

+1

Làm thế nào để đánh dấu câu trả lời tốt nhất trong stackoverflow? – user993935

+0

@ user993935: xem bài đăng này: [Cách chấp nhận câu trả lời hoạt động?] (Http://meta.stackexchange.com/q/5234/153998) –

Các vấn đề liên quan