如何将NTEXT列转换为NVARCHAR(MAX)?
我有4个数据库,其中有一个表存在于所有四个中。在此表的内部,Notes
类型的NTEXT
列除了在一个数据库中,其中该列为nvarchar(255)
。
所以:
NTEXT
nvarchar(255)
我的ETL从这四个表中获取数据,并将它们放入一个Notes
列的类型为nvarchar(max)
的表中。
我没有意识到一列是nvarchar(255)
,直到我的ETL不起作用,因为所有四个表都应该在结构上相同。
错误:
[Source DB [25]]错误:Source出错 DB.Outputs [OLE DB源输出] .Columns [Notes] on Source DB.Outputs [OLE DB源输出]。返回的列状态为: “DBSTATUS_UNAVAILABLE”。
我猜这是问题,因为错误并不具体。如何将此列转换为nvarchar(max)
?
答案 0 :(得分:2)
在oledb源代码中,从表中写入一个select并将列转换为NTEXT,即
SELECT ..., Convert(ntext, Notes) as Notes