Привет, у меня проблема с подключением к базе данных оракула. Когда я запускаю свое приложение в эмуляторе, он работает отлично. Но когда я пытаюсь запустить его на своем телефоне, он падает. Я получаю следующую ошибку:
detailMessage "Исключение Io: сетевой адаптер не смог установить соединение
Мой код подключения:
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn;
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@ip:port/dtabase name","user", "port");
Итак, любые идеи о том, что может быть проблемой? У меня подключено подключение к данным на моем телефоне...
Я собираюсь предположить, что либо вы не запрашивали разрешения на доступ в Интернете в своем манифесте, либо используете локальный IP-адрес, и ваше устройство пытается подключиться через WAN, а не в локальной сети.
Не рекомендуется подключать мобильные устройства непосредственно к РСУБД. Это технически возможно, но есть серьезные последствия для безопасности, не говоря уже о производительности, времени работы от батареи и т.д.
Oracle фактически предлагает продукт, специально предназначенный для подключения мобильных устройств к серверу Oracle: Oracle Database Mobile Server.
http://www.oracle.com/technetwork/products/database-mobile-server/overview/index.html
Вы можете прочитать об этом там, а также загрузить и попробовать его на вкладке загрузки. В дополнение к Oracle Database вам понадобится сервер приложений. Рекомендуется использовать WebLogic или Glassfish.
Он предлагает несколько преимуществ, главным из которых является возможность синхронизации данных SQLite с устройств Android с бэкэндом Oracle без каких-либо дополнительных усилий по разработке. У вас есть возможность для приложения работать в отключенном режиме, и он предлагает некоторые основные возможности mgmt устройства.
Удачи с вашим проектом.
Эрик Дженсен, Oracle PM