==== Ответ может быть очень полезен, если в 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. Прокрутите вниз, чтобы выбрать Oracle в OraDB {Vsn} _home1
4. Укажите имя пользователя (UID), пароль
5. Запишите имя драйвера, которое вы выбрали, запишите имя источника данных, которое вы ввели.
6. Проверьте соединение и убедитесь, что Windows сообщает, что все в порядке.
Теперь, после этого, мы переходим на сторону Эрланга. Посмотрите на этот модуль, он должен помочь вам в общении с оракулом.
-module(oracle_client).
-compile(export_all).<br>
-define(CONNECT_OPTIONS,[
{auto_commit,on},
{scrollable_cursors, off}
]).
-define(CONNECT_STRING,"DSN=data_source;UID=uid;PWD=password;DRIVER=Oracle in OraDb10g_home1").<br><br>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.<br>
send_sql(ConnObject, SQLQuery)-> odbc:sql_query(ConnObject, SQLQuery).
Erlang ODBC-сервер должен быть запущен первым. Erlang ODBC запросит у вас строку подключения и параметры. В опциях прежде всего обратите внимание, что большинству драйверов Oracle понадобятся эти прокручиваемые курсоры. Затем в строке подключения вам потребуется ввести действительный UID (имя пользователя), пароль, DSN (имя источника данных) и имя драйвера, и все это в точности так, как вы создали DSN в Windows ODBC-соединении в описанных выше шагах.
Это должно быть хорошо. Обратите внимание, что вы должны придерживаться самих драйверов оракула и избегать сторонних драйверов ODBC Oracle. У меня есть опыт использования сторонних драйверов, потому что после, скажем, 10 миллионов подключений водитель начинает запрашивать деньги / лицензию и блокирует трафик от доступа к оракулу DB.
Дайте мне знать, если вы получите любые проблемы. Приведенный выше модуль немного грубоват, не используйте его как есть, потому что это просто модуль тестирования оболочки, в противном случае вам понадобится, скажем, gen_server, который будет содержать объект подключения, чтобы другие процессы просто продолжали связываться с ним. Если вы успешно настроили Имя источника данных с установленной БД Oracle или клиентом на вашем компьютере, этот модуль поможет вам, в противном случае большинство проблем возникают при настройке Соединения ODBC.
=== Linux ===
Для Linux, я думаю, вам нужно получить библиотеки odbc, такие как Easy Soft ODBC Drivers или UnixODBC . Затем попробуйте настроить его, как мы сделали с окнами выше, а затем используйте модуль Erlang, который я предоставил выше. Это все еще должно работать. Я боюсь, что я всегда подключался к оракулу из Windows, а НЕ из-за множества проблем в настройке и настройке библиотек ODBC (попробуйте, вы можете быть успешными в настройке библиотек Unix ODBC или Easy Soft ODBC), в противном случае, Erlang часть этого разобрана.