在使用Visual Studio 2013(Update 4)数据库项目中的FILESTREAM列创建用户定义的表类型时遇到问题。
我已将包含FILESTREAM的FILEGROUP添加到项目中,并通过项目设置>将其配置为默认文件流文件组。数据库设置>操作标签。
create table语法如下:
CREATE TYPE [dbo].[MediaType] AS TABLE (
[Guid] UNIQUEIDENTIFIER NOT NULL,
[MediaTypeId] INT NOT NULL,
[Data] VARBINARY(MAX) FILESTREAM NOT NULL);
我收到以下错误:
SQL46010; FILESTREAM附近的语法不正确。
我已经检查了创建支持FILESTREAM的标准表所需的基本语法(Click Here),我的语法对我来说很合适,所以我猜它是特定于项目的。
任何帮助都会很棒 - 提前谢谢。
答案 0 :(得分:0)
我在我的要求中犯了一个错误 - 我正在使用UDTT批量插入媒体数据,但是可以将它作为VARBINARY(MAX)存储在UDTT中,然后将SELECT-INSERT插入到配置为的真实表中FILESTREAM列如下:
CREATE TABLE [dbo].[Media]
(
[Id] INT NOT NULL PRIMARY KEY IDENTITY,
[Guid] UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL,
[MediaTypeId] INT NOT NULL,
[Data] VARBINARY(MAX) FILESTREAM NOT NULL
)
在UDTT中使用FILESTREAM列类型是不正确的。