微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

连接erlang客户端到oracle

有谁知道如何从Linux中的erlang客户端连接到oracle? 我想ODBC驱动程序是必需的。

Erlang:无法find指定的模块

RabbitMQ节点在新的安装之后下来

RabbitMq和“致命错误:握手失败 – handshake_decode_error”

如何用erlang.el设置Erlang + Emacs?

在Windows上编译Erlang代码

根据Erlang文档, ODBC是要走的路 。

一个Erlang的ODBC API“应该可以运行在包括Linux在内的所有Unix语言上……但是目前它只能在Solaris,Windows 2000,Windows XP和NT上测试”。 了解更多 。

有Linux的ODBC驱动程序。 如果幸运的话,你的发行版本已经安装了。 了解更多 。

====如果在Windows上,答案可能非常有用,但也可能包含有用的Linux信息=====

现在,首先,我们需要下载一个oracle客户端或oracle数据库本身,并从这里安装它: http : //www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 。 Oracle安装并创建一个名为oracle的文件夹(在Windows上)。 在这文件夹中,通常会找到它的$ HOME文件夹: C:oracleproduct10.2.0db_1 。 因此,如果您在Windows上,则通过阅读以下链接访问ODBC配置: http : //ozinisle.blogspot.com/2011/10/configuring-odbc-connection-for-oracle.html然后您将创建一个新的Data Source Name (DSN)您选择的Data Source Name (DSN) 。 步骤大致如下:

1.选择系统DSN

2.创建新的数据源

3.向下滚动以在OraDB {Vsn} _home1中选择Oracle

4.指定用户名(UID),密码

5.记下您选择的驱动程序名称,记下您输入的数据源名称

6.测试连接,并确保窗户说,罚款。

现在,在这之后,我们去erlang一边。 看看这个模块,它应该启动你和oracle的通信。

-module(oracle_client)。

-compile(export_all)。

-define(CONNECT_OPTIONS,[

{AUTO_COMMIT,上},

{scrollable_cursors,off}

])。

-define(CONNECT_STRING,“DSN = data_source; UID = uid; PWD = password; DRIVER = Oracle in OraDb10g_home1”)。

连接() - >

ODBC:开始()

试试odbc:connect(?CONNECT_STRING,?CONNECT_OPTIONS)

{ok,ConnObject} - > {true,ConnObject};

任何 - > {错误,任何}

抓住

E:E2 - > {例外,{E,E2}}

结束。

send_sql(ConnObject,sqlQuery) - > odbc:sql_query(ConnObject,sqlQuery)。

Erlang ODBC服务器必须先运行。 Erlang的ODBC会询问你一个连接字符串和选项。 首先请注意,大多数Oracle驱动程序将需要关闭可滚动游标。 然后,在连接字符串中,您将被要求输入有效的UID(用户名),密码,DSN(数据源名称)和驱动程序名称,所有这些都与您在上述步骤中在ODBC ODBC连接中创建DSN的方式完全相同。

这应该没问题。 请注意,您应该坚持自己的Oracle驱动程序,并避免第三方ODBC Oracle驱动程序。 我有从使用其他第三方驱动程序的经验,因为说了1000万的连接后,司机开始要求金钱/许可证,并阻止你的流量到达oracle数据库

让我知道如果你有任何的挑战。 上面的模块有点粗糙,不要使用,因为它只是一个shell测试模块,否则你需要说一个gen_server,它将持有连接对象,以便其他处理只是继续与它通信。 只要您成功地在您的机器上安装了Oracle数据库或客户端,就可以设置数据源名称,那么这个模块将会帮助您,否则在设置ODBC连接时会面临很多挑战。

=== Linux ===

对于Linux,我想你需要得到像Easy Soft ODBC驱动程序或UnixODBC这样的odbc库。 然后尝试像上面的窗口那样设置它,然后使用上面提供的Erlang模块。 它应该仍然有效。 由于在设置和配置ODBC库方面遇到很多挑战,恐怕我总是从Windows和NOT Linux连接到oracle(给它一个镜头,可能会成功设置Unix ODBC或Easy Soft ODBC库),否则, Erlang的一部分被整理出来。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐