Visual Studio 2013 数据库项目 - UDTT - FileStream 列问题
Posted
技术标签:
【中文标题】Visual Studio 2013 数据库项目 - UDTT - FileStream 列问题【英文标题】:Visual Studio 2013 Database Project - UDTT - FileStream Column Issue 【发布时间】:2015-02-13 12:51:47 【问题描述】:我在 Visual Studio 2013(更新 4)数据库项目中创建带有 FILESTREAM 列的用户定义表类型时遇到问题。
我在项目中添加了一个包含 FILESTREAM 的 FILEGROUP,并通过项目设置 > 数据库设置 > 操作选项卡将其配置为默认文件流文件组。
创建表语法如下:
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),我的语法对我来说似乎很好,所以我猜它是特定于项目的。
任何帮助都会很棒 - 在此先感谢。
【问题讨论】:
【参考方案1】:我的要求有误 - 我正在使用 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 列类型是不正确的。
【讨论】:
以上是关于Visual Studio 2013 数据库项目 - UDTT - FileStream 列问题的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2013 数据库项目 - UDTT - FileStream 列问题
使用Visual Studio2013打开Visual Studio2015项目
Visual Studio 2013 数据库项目 - DROP 目标中的对象但不在项目中
SQL Server 数据库项目/无法在 Visual Studio 2013 中执行视图