我们正在尝试将Rocket U2数据库中的数据移植到SQL Server。根据我在Wikipedia上读到的内容,数据存储为分隔文本文件。
我们正在考虑以下替代方案:
上述每个选项的可行性如何?还有其他我们可以考虑的替代方案吗?
答案 0 :(得分:1)
文件是散列表而不是纯分隔文本文件。您是安装了Rocket数据库还是只安装了数据文件?有许多方法可以从Rocket U2文件中提取数据,但您需要了解MultiValued的数据结构。雇用熟悉环境的人可以让他们更快。 LinkedIn中有一个MultiValue用户组和U2用户组。
除此之外,我建议将Rocket U2 Toolkit for .NET工具作为从Microsoft角度访问数据的一种方式。以下是一般信息的链接:http://www.rocketsoftware.com/products/rocket-u2-toolkit-net
此处还在StackOverflow上搜索标签u2netdk。
答案 1 :(得分:0)
我们的团队创建了一个从.net应用程序执行以下操作的流程:
从unidata模式创建模型(思考数据结构),包括对关联中的多值和子多值进行建模。
使用这些模型生成sql server db。
使用这些模型创建html文档。
使用LIST命令从我们的unidata数据库中提取数据到文件。
执行Rsync将数据文件从unix服务器移动到我们的Windows服务器。
从文件中读取,截断任何现有的sql数据并使用模型执行sql批量插入。
我们将此流程用于每日迁移,因此步骤2和3实际上只执行一次(或者每当我们添加新文件时)。
我们的团队用了几个月的时间才完全实现了自动化,并且做到了。我们面临的主要挑战来自于我们对unidata或多值数据库缺乏了解。大多数复杂性是解析数据文件的多值和子多值。理解这些关联并正确地解决它们需要花费我们很多时间。
我们的最终解决方案非常好,非常快。我们目前每天从超过57个unidata文件中迁移超过2个半的数据,不到2个小时。
所以我说的是这是可能的,但这是一项相当大的投资,除非你们拥有比我们更多的知识(这很可能)。看起来你正在寻找一次性端口而不是夜间迁移,所以我可能会推荐和@jbmonco一样,并且只使用Rocket提供的.net工具包。