我得到错误号: 22001/8152 SQL [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]String or binary data would,这意味着我在源表中的一列大于我的目标列。不幸的是,消息没有显示它是谁的哪一列,我的工作与许多表列结构它大约是161列。我认为逐个检查我的参数值和列大小并不是一件好事
我使用Sqoop将数据从Server导入到Hive,然后再将数据从Hive导出到另一个Server。Sqoop工作良好,并将VCHAR/NVARCHAR数据类型转换为字符串。我的问题是,在目标表上定义的最佳列类型是什么,因为Hive现在将数据类型保存为String?我最初将目标表上的大多数列定义为VARCHAR(100),并且它一直在工作,但现在有些字符串在导出过程中失败了,我得到:
S
理论上,varchar(max)和varbinary(max)列应该能够存储多达2GB的数据,但我不能存储长度为5000字符的unicode字符串。与类似问题的主要区别在于,在存储数据时,我使用加密数据,我认为这是我正在寻找的瓶颈。下面的代码给出了错误:
DECLARE @tmp5k AS NVARCHAR(max);