Erlang Mnesia创建表错误
使用以下方法,我尝试创建一个表Erlang Mnesia创建表错误,erlang,mnesia,Erlang,Mnesia,使用以下方法,我尝试创建一个表 mnesia_init() -> mnesia:create_schema([node()]), case mnesia:start() of ok -> try mnesia:table_info(type, bill_cdr_file_counter) catch exit:_ -> mnesia:create_tabl
mnesia_init() ->
mnesia:create_schema([node()]),
case mnesia:start() of
ok ->
try
mnesia:table_info(type, bill_cdr_file_counter)
catch
exit:_ ->
mnesia:create_table(bill_cdr_file_counter,[{attributes,[key,value]},
{disc_copies,[node()]}])
end;
{error, Reason} ->
error_logger:error_report(["Mnesia start error: ", Reason]),
{error, Reason}
end.
我使用的记录如下:
-record(bill_cdr_file_counter, {key,value}).
但作为回应,我得到了这个
{aborted,{bad_type,bill_cdr_file_counter,{disc_copies,log@mbsmsc1}}}
你的代码对我来说很好。第一次运行时,我得到了返回值:
{atomic,ok}
第二次运行时,我得到了返回值:
{aborted,{already_exists,bill_cdr_file_counter}}
当我这样做的时候:
4> observer:start()
然后单击表视图
选项卡,然后在菜单栏中选择视图>记忆表
,我会看到列出的票据cdr文件计数器
表。我使用的是erlang19.2
。您使用的是什么版本的Erlang
我还尝试:
3> node().
nonode@nohost
或者,如果我这样开始erl:
$ erl -sname gandalf
1> node().
gandalf@MyMBP
您收到的错误消息显示node()
正在返回:
log@mbsmsc1
这是我看到的您的代码和我运行的代码之间的唯一区别。是的,我在仅包含{disc_copies,[node()]}选项时出现上述错误,否则我将收到{ok,atomic}。但是节点log@mbsmsc1“启动并运行,所以我无法理解错误是什么。@Hasitha,你能ping那个节点吗?如果你描述一下你的设置,也许有人能知道发生了什么。节点是如何启动的?