Linuxでerlangクライアントからoracleに接続する方法を知っている人はいますか? ODBCドライバが必要だと思います。erlangクライアントをoracleに接続
答えて
Erlangの文書ODBC is the way to goによると、
"Linuxを含むすべてのUnix方言で動作するはずのErlang ODBC APIがありますが、現在のところ、Solaris、Windows 2000、Windows XP、およびNT用にのみテストされています"。 Find out more。
Linux用のODBCドライバがあります。運が良ければディストリビューションには既にインストール済みのものがあります。 Find out more。
? ErlangにはネイティブDBドライバはありませんか? –
====回答はWindowsの場合には非常に便利ですが、Linuxの参考情報も含まれている可能性があります。
まず、oracleクライアントまたはoracleデータベース自体をダウンロードする必要がありますここからインストールしてください:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html。 Oracleは、oracle
というフォルダ(Windowsの場合)をインストールして作成します。このフォルダの中には、通常は$ HOMEフォルダがあります。C:\oracle\product\10.2.0\db_1
。したがって、Windows上にいる場合は、次のように読んでODBC構成にアクセスします。http://ozinisle.blogspot.com/2011/10/configuring-odbc-connection-for-oracle.html次に、新しいData Source Name (DSN)
を作成します。手順は概ね次のとおりです。
1.システムDSN
を選択2.新規データソースの作成
3.下にスクロールしてOraDB {Vsn} _home1
のOracleを選択します。4.ユーザー名(UID)、パスワード
を指定します。選択したドライバ名、入力したデータソース名をメモしてください。
6.接続をテストして、ウィンドウが正常に表示されていることを確認します。
これ以降、私たちはerlang側に行きます。このモジュールを見ると、そのモジュールはOracleとの通信を開始するはずです。
-module(oracle_client). -compile(export_all).
-define(CONNECT_OPTIONS,[ {auto_commit,on}, {scrollable_cursors, off} ]). -define(CONNECT_STRING,"DSN=data_source;UID=uid;PWD=password;DRIVER=Oracle in OraDb10g_home1").
connect()-> odbc:start(), try odbc:connect(?CONNECT_STRING,?CONNECT_OPTIONS) of {ok,ConnObject} -> {true,ConnObject}; Any -> {error,Any} catch E:E2 -> {exception,{E,E2}} end.
send_sql(ConnObject, SQLQuery)-> odbc:sql_query(ConnObject, SQLQuery).
Erlang ODBCサーバーが最初に実行されている必要があります。 Erlang ODBCは接続文字列とオプションを要求します。オプションの中で、ほとんどのOracleドライバでは、スクロール可能なカーソルが必要になることに注意してください。次に、接続文字列で、有効なUID(ユーザー名)、パスワード、DSN(データソース名)、およびドライバ名を入力する必要があります。これらはすべて、上記の手順でWindows ODBC接続でDSNを作成したのとまったく同じです。
これは問題ありません。あなたはオラクルのドライバに自信を持ち、サードパーティのODBCオラクルドライバは避けてください。私は、他のサードパーティのドライバを使用した経験から、1,000万回の接続後に、ドライバがお金を買うことを要求し始める/ライセンスがあり、トラフィックがOracle DBに到達しないためです。
問題が発生した場合に備えてお知らせください。上のモジュールはちょっと荒いですが、それは単なるシェルテストモジュールなのでそのまま使わないでください。そうでなければ、Connectionオブジェクトを保持するgen_serverと言う必要があります。マシンにインストールされているOracle DBまたはクライアントを使用してデータソース名を設定することができれば、このモジュールを使用すると、ODBC接続を設定する際のほとんどの課題を解決できます。
=== Linux ===
Linuxの場合は、 Easy Soft ODBC Drivers、UnixODBCなどのodbcライブラリを入手する必要があります。その後、上記のウィンドウで行ったようにセットアップしてから、上記のErlangモジュールを使用してください。それでも動作するはずです。私は、ODBCライブラリを設定して設定する際の多くの課題(なぜなら、Unix ODBCやEasy Soft ODBCライブラリの設定では成功するかもしれない)のために、私はWindowsとLinuxからOracleに常に接続しているのではないかと思います。 Erlangの部分がソートされています。
ありがとう、私は試して、更新プログラムを投稿します。 – kostas
- 1. Erlangが1Mのクライアントに同時に接続する
- 2. Oracleプロキシ・ユーザーおよびクライアント接続プーリング
- 3. Oracle 12c CentOS PDBクライアントからの接続
- 4. erlangのリーク接続プーリング
- 5. Oracle SQL Developer - 接続に接続
- 6. Oracleクライアントはリモート・サーバーに接続できません
- 7. PysparkをOracle SQLに接続
- 8. oracleをSASに接続
- 9. TCPクライアント接続
- 10. Erlang、Erlangのインターネットでノードを接続する
- 11. サーバにFirebirdクライアントを接続
- 12. libGDXクライアント(サーバー)クライアント接続
- 13. .NetへのOracle接続 - 接続プール
- 14. PythonでOracle AQに接続
- 15. CakePHPでOracleリモートサーバーに接続
- 16. Python - Oracle 11g接続
- 17. Oracleデータベース接続が
- 18. ASP Oracle接続エラー
- 19. nuxeo oracleデータベース接続
- 20. Oracle ODBC dns接続
- 21. erlangからmongodbへの接続
- 22. Cサーバーがクライアントに接続
- 23. ローカルのクライアントcassandraに接続
- 24. クライアントに接続するServerSockets
- 25. アルテミスブローカーインターセプトMQTTクライアント接続
- 26. Node.js:socket.io closeクライアント接続
- 27. boto3クライアントと接続
- 28. TCPクライアント接続スクリプト
- 29. Elasticsearch Transportクライアント接続
- 30. 数千のクライアントを1回の接続でJabberサーバーに接続
スクロール可能なカーソルをOracleでオフにします。 odbcは '{scrollable_cursors、off}'オプションを接続します。 –
私は下に掲示された答えを読む、それは本当に助けるべきである –