我想访问Erlang中的Postgresql数据库.我下载了
epgsql驱动程序,它是一些目录和文件,但我不明白如何使用它.
如何编写Erlang程序并使用epgsql驱动程序访问Postgresql数据库?
我创建了一个新文件夹,并将驱动程序中的src /和pgsql.hrl中的所有文件复制到我的新文件夹中.然后我创建了一个简单的测试程序:
-module(dbtest). -export([dbquery/0]). dbquery() -> {ok,C} = pgsql:connect("localhost","postgres","mypassword",[{database,"mydatabase"}]),{ok,Cols,Rows} = pgsql:equery(C,"select * from mytable").
然后我开始erl并使用c(pgsql)编译模块.和c(dbtest).
但是当我执行dbtest:dbquery()时.我收到此错误:
** exception error: undefined function pgsql:connect/4 in function dbtest:dbquery/0
Rebar是一个很好用的工具,但是我发现知道如何构建项目很好,这样你就可以在出现问题时告诉你该怎么做.尝试像这样组织你的项目:
/deps/epqsql/ /src/dbtest.erl /ebin
然后cd到deps / epqsql并运行make来构建库.
您的dbtest.erl文件也应该显式引用该库,将其添加到顶部附近:
-include_lib("deps/epgsql/include/pgsql.hrl").
您可能希望在进行更改时使用编译代码的Makefile(或rebar)但是,请尝试立即编译:erlc -I deps / epqsql / ebin -o ebin src / dbtest.erl.
测试时,请确保正确设置了加载路径,请尝试:erl -pz deps / epqsql / ebin / ebin /.当erl控制台加载时,请尝试dbtest:dbquery().看看会发生什么!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。