我正在尝试将数据从CSV文件上传到SQL Server,其大小为2GB,列数超过10000。请告诉我如何在SQL Server中加载超过1024列的数据。
我尝试通过导入/导出向导,它抛出以下错误
错误0xc002f210:准备SQL任务1:执行查询“CREATE TABLE [dbo]。[Test]([ID] varchar(50)...”失败,出现以下错误: “CREATE TABLE失败,因为表'Test'中的列'B19037Dm38'超过1024列的最大值。” 可能的故障原因:查询问题,“ResultSet”属性设置不正确,参数设置不正确或连接未正确建立。
你可以创建一个"wide table",但它有自己的限制和限制。您可能无法使用该向导;如果你想要一个SSIS包定期执行它(这就是向导的内容),你将不得不拔出Visual Studio并构建一个。
我建议你将数据转换为更规范化的形式,每个表有更多的表和更少的列。或者,考虑一下你的数据完全不适合这个模型的可能性,而是使用像Hadoop或其他NoSQL数据库这样的“大数据”平台。
也许您需要转置数据并将列作为行并将行作为列引入。
或者像alroc所说,您可能希望将其拆分为多个表并在这些表之间共享密钥。 10个表,1024列,第一个表将具有主键,所有其他表将具有该表的外键。
此外,不知道您的数据是什么样的,因此很难进一步评论。通过SSIS包进行规范化可能是您最好的选择。