varbinary(max)数据类型无效

6
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(100),则不会出现错误。

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


3
SQL Server 2005 应该支持这个功能 - 你确定你不是在 SQL Server 2000 上执行此操作吗?或者你的数据库兼容性级别设置为 80(等同于 SQL Server 2000)吗? - marc_s
varbinary 附近的语法不正确。 - user993935
在SQL 2000中是否有varbinary(max)的替代品? - user993935
@user993935 - image 数据类型。 - Martin Smith
1个回答

7

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

嗨@marc_s,感谢您的回答。我的数据库兼容级别为120,但仍然存在相同的问题。首先我使用了数据类型image。但在阅读有关其弃用的内容后,将其更改为varbinary(max)。 - DevLoverUmar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接