我需要将大约40个表的数据转换为SQL Server中的一个大表。它们目前是文本文件。我尝试将它们全部组合到Access数据库中,然后以这种方式上传到SQL Server,但是它们的数据类型nvarchar(255)
太大了,我需要它们更小,但是一旦表上传,我就无法编辑数据类型我需要创建一个新表,然后逐个将数据上传到其中。我无法弄清楚将数据导入已经制作的表的过程。任何帮助将不胜感激。
我尝试了常规的导入方式,但我不断收到以下错误消息
错误0xc02020a1:数据流任务1:数据转换失败。列“”描述“”的数据转换返回状态值4和状态文本“文本被截断或目标代码页中的一个或多个字符不匹配。”。
错误0xc020902a:数据流任务1:“输出列”“描述”“(26)”失败,因为发生了截断,并且截断行处置“输出列”“描述”“(26)”指定失败截断。指定组件的指定对象上发生截断错误。
错误0xc0202092:数据流任务1:在数据行9104上处理文件“C:\ Users \ vzv7kqm \ Documents \ Queries& Reports \ UPSU Usage \ UpTo1999.CSV”时发生错误。
错误0xc0047038:数据流任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。组件“Source - UpTo1999_CSV”(1)上的PrimeOutput方法返回错误代码0xC0202092。当管道引擎调用PrimeOutput()时,组件返回失败代码。失败代码的含义由组件定义,但错误是致命的,管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
答案 0 :(得分:0)
为什么不将数据从MS Access导出到MS SQL Server? Nvarchar(255)只是意味着它的长度可变。最多使用2个字节作为头部。在最坏的情况下,我可以存储255/2个字符。它正在使用UNICODE。为什么不使用VARCHAR(255)?