0

我们正在尝试将 Rocket U2 数据库中的数据移植到 SQL 服务器。根据我在Wikipedia上阅读的内容,数据存储为分隔的文本文件。

我们正在考虑以下替代方案:

  1. 购买 Rocket U2 工具包
  2. 自己解析文本文件
  3. 将文本文件导入 Excel
  4. 依赖第三部分库

上述每个选项的可行性如何?我们可以考虑其他替代方案吗?

4

2 回答 2

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。

于 2014-07-01T18:24:02.043 回答
0

我们的团队创建了一个从 .net 应用程序执行以下操作的流程:

  1. 从 unidata 模式创建模型(想想数据结构),包括对关联中的多值和子多值进行建模。

  2. 使用这些模型生成一个 sql server db。

  3. 使用这些模型来创建 html 文档。

  4. 使用 LIST 命令将数据从我们的 unidata db 提取到文件中。

  5. 执行 Rsync 将数据文件从 unix 服务器移动到我们的 windows 服务器。

  6. 从文件中读取,截断任何现有的 sql 数据并使用模型执行 sql 批量插入。

我们将此过程用于日常迁移,因此步骤 2 和 3 实际上只执行一次(或每当我们添加新文件时)。

我们的团队花了几个月的时间来完全自动化并把它做好。我们的主要挑战来自于我们对单数据或多值数据库的了解为零。大部分复杂性是解析数据文件的多值和子多值。理解关联并正确分解它们花费了我们很多时间。

我们的最终解决方案非常好,而且速度非常快。我们目前每天在不到 2 小时的时间内从超过 57 个 unidata 文件中迁移超过 2 个半演出的数据。

所以我要说的是这是可能的,但这是一项相当大的投资,除非你们拥有比我们更多的知识(这很有可能)。看起来您正在寻找一次性端口,而不是每晚迁移,所以我可能会推荐与 @jbmonco 所做的相同的方法,只需使用 Rocket 提供的 .net 工具包。

于 2014-09-16T16:24:00.237 回答