Retreving X, Y, Z from the Geometry column in oracle 10g
Retreving X, Y, Z from the Geometry column in oracle 10g
am 20.02.2008 09:31:27 von Hebat-Allah Farag
------=_Part_16651_862444.1203496287202
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Dear all ,
I am stick since 2 days at the same point, I am using 10g, PHP my problem
now is how to fecth the X, Y , z coordinates from the geometry column to
view it on my web page, i don't understand the (SDO_ORDINATES), what is its
type & how i can deal with it. my simple code is:
$conn=oci_connect('User','pass','//localhost/x')
$sqlCol="SELECT c.GEOMETRY.SDO_ORDINATES from SSS c WHERE c.CODE = '80A' ";
$resultCol=oci_parse($conn,$sqlCol);
$excuteResCol=oci_execute($resultCol);
$resultRecordsCol=oci_fetch_array($resultCol);
I got an error on the last line as (ORA-00932: inconsistent datatypes:
expected CHAR got ARRAY )
i don't know how to deal with this resultset.
If anyone could help please replay.
Thanks for your help
------=_Part_16651_862444.1203496287202--
Re: Retreving X, Y, Z from the Geometry column in oracle 10g
am 20.02.2008 10:05:34 von Santosh
Following is sample code. oci_fetch_array returns resultset in array form.
Details are available on
http://in2.php.net/manual/en/function.oci-fetch-array.php
$connection = oci_connect("apelsin", "kanistra");
$query = "SELECT id, name FROM fruits";
$statement = oci_parse ($connection, $query);
oci_execute ($statement);
while ($row = oci_fetch_array ($statement, OCI_BOTH)) {
echo $row[0]." and ".$row['ID']." is the same
";
echo $row[1]." and ".$row['NAME']." is the same
";
}
?>
Santosh
----- Original Message -----
From: "Hebat-Allah Farag"
To:
Sent: Wednesday, February 20, 2008 2:01 PM
Subject: [PHP-DB] Retreving X, Y, Z from the Geometry column in oracle 10g
> Dear all ,
> I am stick since 2 days at the same point, I am using 10g, PHP my problem
> now is how to fecth the X, Y , z coordinates from the geometry column to
> view it on my web page, i don't understand the (SDO_ORDINATES), what is
> its
> type & how i can deal with it. my simple code is:
> $conn=oci_connect('User','pass','//localhost/x')
> $sqlCol="SELECT c.GEOMETRY.SDO_ORDINATES from SSS c WHERE c.CODE = '80A'
> ";
> $resultCol=oci_parse($conn,$sqlCol);
> $excuteResCol=oci_execute($resultCol);
> $resultRecordsCol=oci_fetch_array($resultCol);
>
> I got an error on the last line as (ORA-00932: inconsistent datatypes:
> expected CHAR got ARRAY )
> i don't know how to deal with this resultset.
>
> If anyone could help please replay.
>
> Thanks for your help
>
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Retreving X, Y, Z from the Geometry column in oracle10g
am 20.02.2008 10:24:59 von Evert Lammerts
You'll need an oracle - oci8 expert for this. A little googling told me
that in order to use user defined data types (and i guess enhanced build
in data types as GEOMETRY too) you will need oci8 functions
(http://bugs.php.net/bug.php?id=39887), specifically the function
bind_array_by_name()
(http://usphp.com/manual/en/function.oci-bind-array-by-name. php).
In general, and I bet you do, keep the oci8 function overview close
(http://usphp.com/manual/en/ref.oci8.php).
Evert
Hebat-Allah Farag wrote:
> Dear all ,
> I am stick since 2 days at the same point, I am using 10g, PHP my problem
> now is how to fecth the X, Y , z coordinates from the geometry column to
> view it on my web page, i don't understand the (SDO_ORDINATES), what is its
> type & how i can deal with it. my simple code is:
> $conn=oci_connect('User','pass','//localhost/x')
> $sqlCol="SELECT c.GEOMETRY.SDO_ORDINATES from SSS c WHERE c.CODE = '80A' ";
> $resultCol=oci_parse($conn,$sqlCol);
> $excuteResCol=oci_execute($resultCol);
> $resultRecordsCol=oci_fetch_array($resultCol);
>
> I got an error on the last line as (ORA-00932: inconsistent datatypes:
> expected CHAR got ARRAY )
> i don't know how to deal with this resultset.
>
> If anyone could help please replay.
>
> Thanks for your help
>
>
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: Retreving X, Y, Z from the Geometry column in oracle10g
am 20.02.2008 20:43:48 von Christopher Jones
Hebat-Allah Farag wrote:
> I am stick since 2 days at the same point, I am using 10g, PHP my problem
> now is how to fecth the X, Y , z coordinates from the geometry column to
> view it on my web page, i don't understand the (SDO_ORDINATES), what is its
> type & how i can deal with it. my simple code is:
> $conn=oci_connect('User','pass','//localhost/x')
> $sqlCol="SELECT c.GEOMETRY.SDO_ORDINATES from SSS c WHERE c.CODE = '80A' ";
> $resultCol=oci_parse($conn,$sqlCol);
> $excuteResCol=oci_execute($resultCol);
> $resultRecordsCol=oci_fetch_array($resultCol);
>
> I got an error on the last line as (ORA-00932: inconsistent datatypes:
> expected CHAR got ARRAY )
> i don't know how to deal with this resultset.
Since PHP's OCI8 deals with simple types (or arrays of simple types),
you could create a mapping function in PL/SQL. There is a related
example under the heading "Using PL/SQL Types in PHP" on page 141 of
the current (1.4) version of
http://www.oracle.com/technology/tech/php/pdf/underground-ph p-oracle-manual.pdf
Also see the use of SDO_UTIL.GETVERTICES in
http://forums.oracle.com/forums/thread.jspa?messageID=144866 7
Chris
--
Christopher Jones, Oracle
Email: christopher.jones@oracle.com Tel: +1 650 506 8630
Blog: http://blogs.oracle.com/opal/ Free PHP Book: http://tinyurl.com/f8jad
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php