加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用epgsql驱动程序连接到Erlang中的PostgreSQL?

发布时间:2020-12-13 18:10:46 所属栏目:百科 来源:网络整理
导读:我想访问Erlang中的PostgreSQL数据库.我下载了 epgsql驱动程序,它是一些目录和文件,但我不明白如何使用它. 如何编写Erlang程序并使用epgsql驱动程序访问PostgreSQL数据库? 我创建了一个新文件夹,并将驱动程序中的src /和pgsql.hrl中的所有文件复制到我的新
我想访问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

关于如何使用Erlang连接到PostgreSQL数据库的任何建议?

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().看看会发生什么!

我的机器上没有Postgresql设置,但是我能够通过此设置获得更合理的错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读