Foros del Web » Programando para Internet » Android »

WebService Android + Php + Oracle

Estas en el tema de WebService Android + Php + Oracle en el foro de Android en Foros del Web. HOla buenas tardes a todos, veran tengo un problema, les platico, estoy haciendo una aplicacion en Android, esta aplicación guarda datos en SQLite (localmente) y ...
  #1 (permalink)  
Antiguo 28/10/2014, 17:29
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años
Puntos: 0
WebService Android + Php + Oracle

HOla buenas tardes a todos, veran tengo un problema, les platico, estoy haciendo una aplicacion en Android, esta aplicación guarda datos en SQLite (localmente) y despues debe pasarlos a una base de datos Oracle. Así que primero intente el paso por JDBC, pero nada y ahora lo intento por WebService utilizando PHP.

Ya hago la conexion entre PHP y Oracle de hecho puedo agregar datos a Orackle desde PHP, pero cuando intento pasar datos entre Android y Oracle, parece ser que NO pasa los datos. Bueno NO los pasa por que NO marca error alguno en el Log.

Espero que me puedan ayudar por favor.

Este es mi script php, que se conecta con Oracle y debería agregar datos a Oracle.

Código PHP:
<?php
$conn 
oci_connect('epc_cms''cmsdev''x.x.x.x:1521/SERVICE_NAME');
if (!
$conn) {
    
$e oci_error();
    
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    die();
}

/* preparamos la sentencia sql
* como observan he declarado dos paramentros en la sentencia sql
* que comienzan con dos puntos(:) para que oci_bind_by_name
* los reconozca y reciba los datos.
*/
$stoci_parse($conn"INSERT INTO PORTADOR (ID,CREDENCIAL,DESTINO,FECHA,HORA,STAMPT,NICK,UBICACION,VISIBLE) VALUES (:id,:credencial,:destino,:fecha,:hora,:stampt,:nick,:ubicacion,:visible)");
 
//variables con los datos que vamos a utilizar

$id='';
$credencial=$_POST['credencial'];
$destino=$_POST['destino'];
$fecha=$_POST['fecha'];
$hora=$_POST['hora'];
$stampt=$_POST['stampt'];
$nick=$_POST['nick'];
$ubicacion=$_POST['ubicacion'];
$visible=$_POST['visible'];
 
/* Con oci_bind_by_name vinculamos nuestra variable en php
* con el parametro en la sentencia sql que hemos utilizado */
oci_bind_by_name($st":id"$nombres);
oci_bind_by_name($st":credencial"$credencial);
oci_bind_by_name($st":destino"$destino);
oci_bind_by_name($st":fecha"$fecha);
oci_bind_by_name($st":hora"$hora);
oci_bind_by_name($st":stampt"$stampt);
oci_bind_by_name($st":nick"$nick);
oci_bind_by_name($st":ubicacion"$ubicacion);
oci_bind_by_name($st":visible"$visible);
 
//ejecutamos la sentencia sin hacer commit en Oracle.
$ex=oci_execute($stOCI_NO_AUTO_COMMIT);
 
//Verificamos si no hubo problema con la sentencia sql
if (!$ex){
    
$error=  oci_error($st);
    
//si hubo error regresamos los cambios hechos con oci_rollback
    
oci_rollback($conn);
    echo 
"ERROR: ".$error["message"];
}else{
    
//si todo esta bien ejecutamos todos los cambios con oci_commit
    
oci_commit($conn);
    echo 
"termino";
}
 
//cerramos la conexion.
oci_close($conn);


?>
Este es mi script en Android

Código:
public class oracle extends Activity {
    
    @SuppressWarnings("unused")
    private Activity activity;
    private DataBaseManager manager;
    private Cursor cursor;//,cursor1;
    public Connection conexion;
    Statement stmt = null;
    public String driver;
    private Button insert;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        activity=this;
        setContentView(R.layout.oracle);
        //Pongo en marcha el Hilo en segundo plano
        insert=(Button)findViewById(R.id.insert);	
		insert.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				new Insertar(oracle.this).execute();		
								
			}
			
		});
    }
    
    private boolean insertar(){
    	manager = new DataBaseManager(oracle.this);
        //Acemos conexion con el servidor php
    	HttpClient httpclient;
		List<NameValuePair> nameValuePairs;
		HttpPost httppost;
        httpclient=new DefaultHttpClient();
        httppost= new HttpPost("http://10.60.143.124/SISCOM/insert.php"); // Url del Servidor  
        System.out.println("Se conecto al Apache Service....");
        
              ////////PASANDO DATOS BASE PORTADOR//////              
               cursor = manager.cargaCursorPortador();
               if (cursor.moveToFirst()){
                  do{ 
                   String IDW = cursor.getString(0); 
                   String CRE = cursor.getString(1);
                   String DES = cursor.getString(2);
                   String FE = cursor.getString(3); 
                   String HO = cursor.getString(4);
                   String ST = cursor.getString(5);
                   String NI = cursor.getString(6);
                   String UB = cursor.getString(7);
                   String VI = cursor.getString(87);
                   
                   System.out.println("ID: "+IDW+" Credencial: "+CRE+" Destino: "+DES+" Fecha "+FE+" Hora "+HO+" STAMPT "+ST+" Nick "+NI+" Ubicacion "+UB+" Visible "+VI);
                   
                    //Añadimos nuestros datos
	       	        nameValuePairs = new ArrayList<NameValuePair>(8);
	       	        nameValuePairs.add(new BasicNameValuePair("id",IDW));
	       	        nameValuePairs.add(new BasicNameValuePair("credencial",CRE));
	       	        nameValuePairs.add(new BasicNameValuePair("destino",DES));
	       	        nameValuePairs.add(new BasicNameValuePair("fecha",FE));
	       	        nameValuePairs.add(new BasicNameValuePair("hora",HO));
	       	        nameValuePairs.add(new BasicNameValuePair("stampt",ST));
	       	        nameValuePairs.add(new BasicNameValuePair("nick",NI));
	       	        nameValuePairs.add(new BasicNameValuePair("ubicacion",UB));
	       	        nameValuePairs.add(new BasicNameValuePair("visible",VI));
                   
		       	     try {
		  			   httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
		  		       httpclient.execute(httppost);
		  		       return true;
		  			} catch (UnsupportedEncodingException e) {
		  				// TODO Auto-generated catch block
		  				e.printStackTrace();
		  			} catch (ClientProtocolException e) {
		  				// TODO Auto-generated catch block
		  				e.printStackTrace();
		  			} catch (IOException e) {
		  				// TODO Auto-generated catch block
		  				e.printStackTrace();
		  			}
		  			return false;
	       	        
                  }while(cursor.moveToNext());
                
               }else{
            	   System.out.println("No hay datos en la consulta DE PORTADOR");}
            	   // Toast.makeText(this, "No hay datos en la consulta DE PORTADOR",Toast.LENGTH_SHORT).show();}
			return false;
    }
              
  //AsyncTask para insertar Personas
  		class Insertar extends AsyncTask<String,String,String>{
  			
  			private Activity context;
  			
  			Insertar(Activity context){
  				this.context=context;
  			}
  			@Override
  			protected String doInBackground(String... params) {
  				// TODO Auto-generated method stub
  				if(insertar())
  					context.runOnUiThread(new Runnable(){
  						@Override
  						public void run() {
  							// TODO Auto-generated method stub							
  							Toast.makeText(context, "Script corrio con Exito.", Toast.LENGTH_LONG).show();
  						}						
  					});
  				else
  					context.runOnUiThread(new Runnable(){
  						@Override
  						public void run() {
  							// TODO Auto-generated method stub							
  							Toast.makeText(context, "Scripst NO corrio con Exito", Toast.LENGTH_LONG).show();
  						}					
  					});
  			      return null;
  			}			
  		}
}
Espero que me puedan ayudar de veradad, NO se donde esta el error....Gracias y bendiciones de antemano.

Etiquetas: androi, list, oracle, php, webservice
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.