2016-03-01 127 views
1

我正在从旧系统转换,从旧系统中获取数据的唯一方法是使用其内部导出功能。这会为每个标题生成一个带有新行的文件(几乎像XML)。我需要找到一种使用SQL将数据转换为MSSQL数据库的方法。以下是数据外观的一个例子。如何在每行上使用标题做一个数据透视表?

号15; 123
名称李四
电话5555551234

电子邮件
密码1234 5432 5672 2212
END
号15; 124
名称美孚酒吧
电话5555559876
注意疯狂的男人
电子邮件[email protected]
密码0 0 0 0
END
(在该格式的数据重复)

线路中的数据是由标签
的列有每行分隔,列名是第一字,所以第一行的列名将是“Number”,第二个“Name”等。

将数据导入MSSQL数据库的最佳方式是什么?我曾想过使用一个PIVOT,但是标题将在其他所有行中。

任何想法家伙?

+0

我认为很容易将这些数据转换为excel并使用该宏将重复块数据转换为正常数据,然后将该excel转换为sql很容易 – banksy

回答

0

你可以先在文件上运行一个正则表达式。 (我为我可怜的正则表达式的技能对不起!)

喜欢的东西:(测试在记事本++

查找:

^.[^\s]+\s(.*)\r\n.[^\s]+\s(.*)\r\n.[^\s]+\s(.*)\r\n.[^\s]+\s(.*)\r\n.[^\s]+\s(.*)\r\n.[^\s]+\s(.*)\r\n[E][N][D] 

替换为:

"\1";"\2";"\3";"\4";"\5";"\6" 

应该准备好使用SSIS甚至BCP加载到SQL。

相关问题