2

问题陈述

我有一个 mnesia 备份文件,想从中提取值。有 3 个表(为了简单起见),员工、技能和出勤。因此,mnesia 备份文件包含这三个表中的所有数据。

员工表是:

Empid (Key) 
Name
SkillId
AttendanceId

技能表是

SkillId (Key)
Skill Name

考勤表是

Code (Key)
AttendanceId
Percentage

我试过 的我用过

ets:foldl(Fetch,OutputFile,Table)

Fetch :是一个单独的函数,用于遍历获取的记录以获取所需的输出格式。

OutputFile : 它写入这个文件

表:表的名称

期待

我是带有 AttendanceId 的 gettig 记录(因为这是关键),因为我只想获取代码。它显示员工信息和考勤ID。

帮帮我。

4

1 回答 1

2

备份和恢复在此处的 mnesia 用户指南中进行了描述。

要读取现有备份而不恢复它,请使用mnesia:traverse_backup/4

1> mnesia:backup(backup_file).
ok
2> Fun = fun(BackupItems, Acc) -> {[], []} end.
#Fun<erl_eval.12.90072148>
3> mnesia:traverse_backup(backup_file, mnesia_backup, [], read_only, Fun, []).
{ok,[]}

现在在 Fun 中添加一些东西以获得你想要的东西。

于 2015-09-25T06:12:47.997 回答