sql - 在二进制文件上运行 SQL 查询?

标签 sql binary

我的公司有一个遗留的微观模拟程序,可以模拟人口以及该人口在几年内的变化。

对于每一年,该程序都会生成一个二进制文件,其中包含每个人的记录,其中包含他们的特征(例如,年龄、婚姻状况、收入……大约 20 个字段)。

我们目前有几个实用程序可以读取这些文件并生成摘要报告。问题是每次有人想要一份新报告时,都必须编写一个新的实用程序。

更改程序以便将记录存储在数据库而不是二进制文件中是不可能的(我已经问过……好几次了)。我编写了一些程序,将二进制文件导入数据库,然后对我创建的表运行查询。这里的问题是导入数据和运行查询总是比运行用 c++ 编写的实用程序花费更长的时间,后者只是一条一条地读取记录并累积所需的数据。二进制文件通常包含超过 3000 万条记录,仅导入步骤就需要很长时间。

所以这是我的问题。有什么东西可以让我指定二进制文件的结构,然后在该文件上运行 SQL 查询吗?我认为您可以使用 ODBC 对纯文本文件运行查询,但我从未见过类似的二进制文件查询。

如果没有任何可用的东西,我需要采取哪些步骤来构建可以直接在我的文件上运行查询的东西?我知道这可能超出了我的能力范围,但知道我需要从哪里开始也没什么坏处。

最佳答案

OpenAccess是一个工具包,可用于为任意系统构建 ODBC 或 JDBC 驱动程序。免责声明:我没用过,我公司的另一个部门有卖。

关于sql - 在二进制文件上运行 SQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1430614/

相关文章:

java - 何时为小型应用程序使用 Hibernate 与 Simple ResultSets

mysql - ORDER BY <特定倍数>的意义

java - @SecondaryTable 的 Hibernate 映射和继承问题

iphone - 如何为 itunes 商店构建 xcode 项目?

c - 这个 C 程序究竟是如何从这个二进制文件中读取数据的?

java - 生成二进制序列

sql - 使用 WHERE 子句连接多个表

sql - 返回受 UPDATE 语句影响的行数

java - Java 中的 Nasa 二进制文件

windows - 相同的简单源代码,Windows 上的不同二进制文件