我的公司有一个传统的微观模拟程序,模拟人口和多年来人口的变化。
对于每年,该程序产生一个二进制文件,其中包含每个具有其特征的个体的记录(例如,年龄,婚姻状况,收入......大约20个字段)。
我们目前有几个实用程序可以读取这些文件并生成摘要报告。问题是每次有人想要一份新报告时,都必须编写新的实用程序。
更改程序以便将记录存储在数据库而不是二进制文件中是不可能的(我已经多次询问过......)。我写了一些程序,将二进制文件导入数据库,然后对我创建的表运行查询。这里的问题是导入数据和运行查询总是花费更长的时间来运行用c ++编写的实用程序,它只是逐个读取记录并累积所需的数据。通常,二进制文件包含超过3000万条记录,而单独导入步骤则需要永远。
所以这是我的问题。有没有什么可以让我指定我的二进制文件的结构然后在文件上运行SQL查询?我认为您可以使用ODBC在纯文本文件上运行查询,但我从未见过类似二进制文件的内容。
如果没有可用的东西,我需要采取哪些步骤来构建可以直接在我的文件上运行查询的内容?我知道这可能超出了我的能力,但知道我需要从哪里开始也不会有害。
答案 0 :(得分:2)
OpenAccess是一个工具包,可用于为任意系统构建ODBC或JDBC驱动程序。免责声明:我没有使用它,我公司的另一个部门出售它。
答案 1 :(得分:1)
答案 2 :(得分:0)
我对LINQ没有多少经验,但你不能使用InteropServices将二进制文件解析为C#对象,然后用LINQ的SQL查询东西吗?