是否可以将数据从非常规数据库传输到 SQL Server
Posted
技术标签:
【中文标题】是否可以将数据从非常规数据库传输到 SQL Server【英文标题】:Is it possible to transfer data to SQL Server from an unconventional database 【发布时间】:2017-06-07 15:30:03 【问题描述】:我的公司有一个 SQL Server 数据库,他们希望使用分层数据库(而不是关系数据库)中的数据填充该数据库。我已经编写了一个 .net 应用程序来将它的模式映射到一个关系数据库并且已经成功地做到了。但是我的问题是这里使用的技术太旧了,以至于我看不到明显的数据传输方式。
但是,我对如何做到这一点有一些想法。这涉及必须在我的非常规数据库中写入文件扫描并将文件转储为 csv。然后批量上传到 SQL Server。我不理解这一点,因为涉及的无效数据元素经常终止批量上传。
我希望探索围绕服务代理的选项。我希望在我的数据库中的记录发生更改的情况下转储实时事务,然后可以以某种方式获取?
其次,我还希望使用一些东西,如果我在文件中转储实时或更改的记录(我可以将文件格式化为所需的任何格式),可以将它吸入 SQL Server 吗?
任何帮助将不胜感激。
问候,
瓦卡尔
【问题讨论】:
请添加您从中提取数据的系统类型的详细信息。它是什么类型的数据库?它甚至有名字吗? 您使用的是什么版本的 SQL Server?我问是因为这会影响可用的选项,例如 SSIS 和 XML 数据类型。 我们使用的数据库类型称为RTM,它是用ZUG/ZOPL编写的。我们使用的是sql server 2008标准版 【参考方案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。
【讨论】:
【参考方案2】:跳过批量插入。 SQL Server xml
数据类型适用于您正在做的事情。如果您可以将来自其他系统的数据输出为 XML 格式,则可以将该 XML 直接推送到存储过程的参数中。
之后,您可以根据需要使用functions for the XML type 遍历数据。
【讨论】:
以上是关于是否可以将数据从非常规数据库传输到 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章
是否可以将数据从 ADLS 加载到 DBX 中的 SQL DW?