You are here:GeoTux»Geo-Forums»Base de datos Oracle (no spatial) desde Pmapper

Statistics

Invitados: 40
Usuarios registrados: 3236
Usuarios en línea:
-
Registrados hoy:
-

Register

RSS

Blogs and News:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Get them by e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿What is this about?

Welcome, Guest
Username Password: Remember me

Base de datos Oracle (no spatial) desde Pmapper
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: Base de datos Oracle (no spatial) desde Pmapper

Base de datos Oracle (no spatial) desde Pmapper 16 May 2011 06:38 #568

  • Juanra
  • OFFLINE
  • Visitante casual
  • Posts: 12
  • Karma: 0
Hola,

¿Alguien puede decirme de que forma puedo conectarme a una base de datos en Oracle 11 (no spatial) con php que no sea mediante OGR?
Nota: Solo me interesa obtener datos alfanuméricos de una tabla en una BD en Oracle.

Tengo instalado el paquete para windows MS4W con: Apache HTTP Server version 2.2.17, PHP version 5.3.6 MapServer CGI 5.6.6, MapScript 5.6.6 (CSharp, Java, PHP, Python).

- Una de las posibles soluciones que he encontrado es a través de OGR.
Creo que este tipo de conexión está mas orientada a datos espaciales y si el objeto layer que devuelve OGR_DS_ExecuteSQL tiene muchos elementos (features) la consulta tarda mucho tiempo en realizarse.
Estas son las funciones que utilizo por si os son de utilidad:

OGRRegisterAll();
//************************************************
//Nombre de función: Conectarse.
//Entrada: NADA.
//Salida: DataSource con la información de conexión.
//Descripción: Función que abre la conexión a la BD Oracle usando OGR. Usa el driver OCI.
//************************************************
function Conectarse()
{
$hSFDriver = NULL;
$strDataSource = "OCI:" . USR_BD . "/" . PASS_BD . "@" . BD_NAME;
$hDS = OGROpen( $strDataSource, FALSE, $hSFDriver );
if( $hDS == NULL )
{
printf( "Fallo al abrir el dataSource `%s' con los siguientes drivers:\n", $strDataSource );
for( $iDriver = 0; $iDriver < OGRGetDriverCount(); $iDriver++ )
{
printf( " -> %s\n", OGR_DR_GetName(OGRGetDriver($iDriver)) );
}
}
return $hDS;
}

//**************************************
//Nombre de función: QuerybySQL.
//Entrada: $DataSourceConexion -> DataSource obtenido en la conexión.
// $SQL -> Sentencia SQL a ejecutar.
//Salida: $Layer -> Entidad Layer de OGR con el resultado de la Query.
// NULL -> Si no hay resultado de la Query.
//Descripción: Función que ejecuta una consulta en la BD usando OGR.
//******************************
function QuerybySQL($DataSourceConexion,$SQL) {

$Layer = OGR_DS_ExecuteSQL($DataSourceConexion,$SQL,NULL,NULL);
$numfeatures = OGR_L_GetFeatureCount($Layer,TRUE);
if ($numfeatures > 0)
{
return $Layer;
} else {
return NULL;
}

}
Last Edit: 16 May 2011 06:40 by Juanra.
  • Page:
  • 1
Time to create page: 0.49 seconds
 

On-line users

Random user

Latest Geo-Forums

No posts to display.

Latest Comments