我正在从旧系统转换,从旧系统中获取数据的唯一方法是使用其内部导出功能。这会为每个标题生成一个带有新行的文件(几乎像XML)。我需要找到一种方法来使用SQL将这些数据转换为MSSQL数据库。以下是数据外观的示例。
15号; 123
姓John Doe
电话5555551234
注意
电子邮件
密码1234 5432 5672 2212
结束
15号; 124号
姓名Foo Bar
电话5555559876
注意疯狂的人
电子邮件Email@server.domain
密码0 0 0 0
结束
(数据以这种格式重复)
线条中的数据由标签分隔
列是每一行,列名是第一个单词,因此第一行的列名称为“Number”,第二行为“Name”,依此类推。
将数据导入MSSQL数据库的最佳方法是什么?我曾想过使用PIVOT,但标题会出现在其他所有行中。
任何想法的家伙?
答案 0 :(得分:0)
您可以先在文件上运行正则表达式。 (我很抱歉我的正则表达能力差!)
类似于:(在Notepad ++上测试)
查找
^.[^\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。