小编Abh*_*ith的帖子

Mnesia:以{local_content,true}模式读取远程节点数据

有没有办法使用mnesia 进行本地写入和全局读取(无需复制).例如:节点A写入其本地DB,节点B从节点A的DB读取.除了本地存储的架构信息之外,节点B没有自己的任何数据.

根据文档,{local_content, true}似乎我需要使用,但我试图让节点B读取节点A的数据是不成功的.

我的架构和表配置如下所示:

在nodeA @ ip1上:

    net_adm:ping('nodeB@ip2').
    rd(user, {name, nick}).
    mnesia:create_schema([node()|nodes()]).
    mnesia:start().
    mnesia:create_table(user, [ {local_content, true}, 
                                {disc_copies, [node()]}, 
                                {attributes,record_info(fields, user) }]).

%% insert data and list rows on nodeA 
%% WORKS
Run Code Online (Sandbox Code Playgroud)

在nodeB @ ip2上:

    mnesia:start().
    %% code to list rows from user table on nodeA 
    %% throws an ERROR saying table does not exist.
Run Code Online (Sandbox Code Playgroud)

配置是错误的还是可以通过其他方式完成?

erlang mnesia

6
推荐指数
1
解决办法
655
查看次数

标签 统计

erlang ×1

mnesia ×1