Android-соединение ODBC для оракула 10 г

1

Возможный дубликат:
Андроид jdbc odbc соединение

до того, как я использовал базу данных оракула 11g для моего приложения Android и успешно сохранил значения. К сожалению, моя база данных оракула 11g не могла открыться из-за какой-то проблемы. Я удалил оракул 11g и установил версию оракула 10g. теперь я скомпилировал программу и закрыл эмулятор и открыл таблицу в oracle, значения не могли быть сохранены. Я не знаю, как эта проблема возникает. Здесь, в моем коде, я указываю номер порта 1521, а sid - "orcl", а имя таблицы - "sample". Pls дает одно решение и любые изменения номера порта и sid. заранее спасибо

      package com.search;

      import java.sql.Connection;
      import java.sql.DriverManager;
      import java.sql.PreparedStatement;

      import android.app.Activity;
      import android.os.Bundle;

     public class OraclesearchActivity extends Activity {
   /** Called when the activity is first created. */
    @Override
     public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String a="karthick";
    String b="vijay";
    String c="vel";
    try
    {
        DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

        Connection         con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.2:1521:orcl","system","words");

        PreparedStatement pst=con.prepareStatement("insert into sample(first,middle,last)values(?,?,?)");
        pst.setString(1,a);
        pst.setString(2,b);
        pst.setString(3,c);
        pst.executeUpdate();

    }
    catch(Exception e)
    {
        System.out.println("Exception:"+e);
    }
}
 }
Теги:
odbc
connection

2 ответа

2

Вероятно, это не тот ответ, который вы ищете, но я бы серьезно поставил под сомнение мудрость подключения мобильного устройства напрямую к oracle или любому dbms.

Вместо этого подумайте о том, чтобы поставить службу REST или SOAP перед вашими dbms и позволить вашим мобильным приложениям подключиться к этому.

Некоторые из преимуществ включают:

  • Когда ваши драйверы dbms или dbms меняют версии, вам нужно только обновить свои услуги... не так много мобильных устройств.
  • У вас нет учетных данных для ваших dbms на мобильном устройстве, которое потенциально может быть потеряно или иным образом попадает во враждебную среду, где кто-то может попытаться перебрать команду любым способом, которым вы пытались защитить учетные данные.
  • Ваш сервис может поддерживать множество различных типов клиентов/мобильных устройств, не беспокоясь о поиске драйвера oracle для этого устройства, например, iOS.
  • Вы можете более грациозно обрабатывать перебои в обслуживании/планируемое время простоя через службу... объявляя о недоступности или альтернативах через ответы службы, а не просто не имея возможности получить соединение, которое может быть неотличимым от плохих сетевых подключений.
  • У вас будет множество возможностей для расширения службы с различными параметрами кеширования, проверки и применения более тонкой или контекстной авторизации, чем то, что вы можете реализовать в oracle. -

Возможно, у вас действительно есть жесткие требования к подключению напрямую, но я думаю, что это будет редкое и очень специфическое требование. Кажется, что гораздо более распространенная практика заключается в том, чтобы буферизовать соединение с уровнем обслуживания, что дает вам гораздо большую гибкость, ИМХО.

Удачи.

  • 0
    +1, очень полезные советы о преимуществах использования сервиса вместо прямого подключения к оракулу.
0

Я согласен с первым ответом, не рекомендуется подключать мобильные устройства непосредственно к РСУБД. Для этого есть серьезные последствия для безопасности, не говоря уже о производительности и других последствиях.

Если вы не хотите беспокоиться о создании собственного веб-сервиса, есть способ справиться с этим на уровне базы данных. Oracle действительно предлагает продукт, специально разработанный для этого. Он называется Database Mobile Server.

http://www.oracle.com/technetwork/products/database-mobile-server/overview/index.html

Вы можете прочитать об этом там, а также загрузить и попробовать его на вкладке загрузки. В дополнение к Oracle Database вам понадобится сервер приложений. Рекомендуется использовать WebLogic или Glassfish.

Он предлагает несколько преимуществ, главным из которых является возможность синхронизации данных SQLite с устройств Android с бэкэндом Oracle без каких-либо дополнительных усилий по разработке. Вы также можете использовать приложение в отключенном режиме.

Удачи с вашим проектом.

Эрик Дженсен, Oracle PM

Ещё вопросы

Сообщество Overcoder
Наверх
Меню