Возможный дубликат:
Андроид 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);
}
}
}
Вероятно, это не тот ответ, который вы ищете, но я бы серьезно поставил под сомнение мудрость подключения мобильного устройства напрямую к oracle или любому dbms.
Вместо этого подумайте о том, чтобы поставить службу REST или SOAP перед вашими dbms и позволить вашим мобильным приложениям подключиться к этому.
Некоторые из преимуществ включают:
Возможно, у вас действительно есть жесткие требования к подключению напрямую, но я думаю, что это будет редкое и очень специфическое требование. Кажется, что гораздо более распространенная практика заключается в том, чтобы буферизовать соединение с уровнем обслуживания, что дает вам гораздо большую гибкость, ИМХО.
Удачи.
Я согласен с первым ответом, не рекомендуется подключать мобильные устройства непосредственно к РСУБД. Для этого есть серьезные последствия для безопасности, не говоря уже о производительности и других последствиях.
Если вы не хотите беспокоиться о создании собственного веб-сервиса, есть способ справиться с этим на уровне базы данных. 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