我的公司有一个SQL Server数据库,他们希望用分层数据库(而不是关系数据库)填充数据。我已经编写了一个.net应用程序来将其架构映射到关系数据库并成功完成了该操作。但是我的问题是这里使用的技术太旧了,我没有看到明显的数据传输方式。
但是,我对如何做到这一点有一些想法。这涉及到必须在我的非常规数据库中编写文件扫描并将文件转储为csv。然后批量上传到SQL Server。我不理解这一点,因为涉及无效数据的元素,它经常终止批量上传。
我希望探索服务经纪人的选择。我希望转储我的数据库中记录发生变化的实时交易,然后这可以以某种方式被拿起来?
其次我也希望使用一些内容,如果我在文件中转储实时或更改的记录(我可以将文件格式化为需要的任何格式),是否可以将其吸入SQL Server?
非常感谢任何帮助。
此致
瓦卡
答案 0 :(得分:1)
Service Broker是一个非常强大的队列/消息传递管理系统。我不确定你为什么要用它。
您可以设置一个SSIS作业,该作业不断检查csv文件的文件夹,当检测到新文件时,它会将其读入SQL Server,然后将其拉链并将其存档到其他位置。这很常见。然后,SSIS可以处理数据(它是一个很棒的ETL工具)或调用SQL Server中的过程来处理数据。 SSIS非常快,很少被压倒,为什么你会使用Service Broker?
如果它的IMS(大型机)类型数据必须将其转换为平面表,然后作为csv键入文本表以供SQL Server读取。
SQL Server非常擅长处理XML,并且从2016年开始,JSON形状的数据,所以如果这是您的数据类型,您可以直接导入SQL Server。
答案 1 :(得分:0)
跳过批量插入。 SQL Server xml
数据类型有助于执行您正在执行的操作。如果可以将其他系统中的数据输出为XML格式,则可以将该XML直接推送到存储过程的参数中。
之后,您可以使用functions for the XML type根据需要迭代数据。