2

在我的 Azure SQL DB 中,我有一个外部表 - 我们称之为tableName_origData- 我还有另一个表,我们将其称为tableName.

tableName是使用CREATE从(在其原始位置)生成的脚本创建的tableName_origData,因此我可以确定所有列类型都是相同的。

但是,当我跑步时

INSERT INTO tableName (
    [list of column names]
)
SELECT
    [same list of column names]
FROM
    tableName_origData

我遇到以下异常:

大对象列支持仅限于 nvarchar(max) 数据类型。

就我对 Azure SQL 数据类型的理解而言,我没有比 NVARCHAR(MAX) 更大的东西。此外,该消息暗示支持 NVARCHAR(MAX) 我可以看到相同的脚本适用于包含 NVARCHAR(MAX) 的其他表。

谁能更好地解释此异常的原因以及我可能需要做什么才能将其数据插入到相同的表中?

以下是表中使用的所有列类型的列表:

BIGINTx 3
NCHAR(20)x 1
NVARCHAR(45)x 5
NVARCHAR(100)x 14
NVARCHAR(MAX)x 10

4

1 回答 1

1

外部表是只读的。开发人员可以选择数据,但不能执行任何形式的 DML 处理

要解决此问题,请使用此技术:

https://technology.amis.nl/2005/04/05/updateable-external-tables/

警告:除非用于最简单的用途,否则我们不建议将此技术用于任何严重的应用

于 2016-10-25T07:41:52.463 回答