如何使用.NET读取Microsoft Money数据文件?

9

我有一个需求,需要从MS Money数据文件中读取和导入数据。我该如何实现?是否有可用的SDK?

我也想要一个类似的机制来读取Quicken文件。

5个回答

6
由于微软已经停止支持 MS Money 产品,我正在研究如何完整地导出 MS Money 数据文件中的交易信息。目前为止,我找到的最好方法是通过一个论坛帖子来实现,该帖子详细介绍了如何通过 MS Access 读取文件。不幸的是,他的方法需要购买一款软件来“修复”文件以使其可打开。该帖子在这里:http://www.archivum.info/microsoft.public.money/2007-09/msg00739.html,以下是内容。

嗯,花了 $300 美元加上一些自定义的 SQL 编程,我终于找到了一种方法 来解决 Money 的问题。具体步骤如下:

  1. 从这里获取 FileBinReplace 工具 http://www.softtreetech.com/24x7/script.htm
  2. 运行命令:FileBinReplace *.mny "MSISAM Database" "Standard Jet DB"
  3. 将 *.mny 重命名为 *.mdb
  4. 使用 AccessFIX 工具($300;搜索网站以获取下载链接)来修复 MDB 文件。

按需查询 TRN 和 TRN_INVOICE 表。

顺便说一下,当我看到 Money 中的内部数据库设计时,我真的感到震惊。那个数据库肯定是由入门级数据库程序员设计的……或许是学生……他们对关系数据库设计、规范化或效率几乎没有什么了解……仅供参考,发票文本字符串(地址、客户备注、行项目说明等)存储在与在线交易存储在同一张表中,发票头和详细信息存储在同一张表中!!!你明白谁以及如何设计它了吧。

我希望微软能够发布数据文件规范,以便创建工具来正确导出现有数据,因为他们不再支持该产品或数据文件格式。

此外,这里还有一个 SourceForge 项目,用于将 MsMoney 数据导出为其他格式:http://sunriise.sourceforge.net/


Sunriise打开了未更改的资金文件。我在Ubuntu 14.04上运行它,它打开了文件并允许导出为csv和mdb格式。我找不到TRN表中交易描述的说明。 - Antonios Hadjigeorgalis
@AntoniosHadjigeorgalis 如果您指的是交易备忘录,它在TRN表中的第15列名为mMemo。 - JJ Roman

1

1

@RichB - 为了获得我的清理徽章。 - GregD
1
OFX不是MS Money,所以这根本不相关。 - Joshua Frank

1

OFX与MS Money数据文件(mny)无关。 OFX是基于sgml或xml的开放标准,具体取决于OFX版本,而MNY是专有的二进制格式。 MS Money可以导入OFX文件,但仅限于此。

如果要求仅导入一次,则从Money导出为csv或qif并处理导出的文件。同样适用于Quicken。

Money Sunset是免费的。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接