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

我試圖按上面的方式創建一個表。varbinary(max)數據類型無效

它在varbinary(max)附近產生錯誤。

如果我給出像varbinary(100)這樣的固定列大小,則不會發生錯誤。

如何在SQL Server 2005中聲明varbinary(max)

+3

SQL Server 2005應該支持這一點 - 您確定您沒有在SQL Server ** 2000 **上執行此操作嗎?或者數據庫的兼容級別設置爲80(= SQL Server 2000)? –

+0

什麼錯誤信息? –

+0

varbinary附近的語法不正確。 – user993935

回答

6

SQL Server 2005 確實支持VARBINARY(MAX)

要麼是針對SQL Server 2000計算機執行此CREATE TABLE語句,要麼是您的數據庫仍處於兼容級別= 80(SQL Server 2000)。

檢查您的兼容級別與此查詢:

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

如果你運行該查詢的錯誤 - 你對SQL Server 2000 :-)

如果你的數據庫是80級運行,您需要將其升級到至少90級(SQL Server 2005):

ALTER DATABASE YourDatabase SET COMPATIBILITY_LEVEL = 90 
+0

好了明白謝謝。 – user993935

+1

如何在stackoverflow中標記最佳答案? – user993935

+0

@ user993935:看到這篇文章:[如何接受答案工作?](http://meta.stackexchange.com/q/5234/153998) –

相關問題