Toon posts:

[Oracle/SQL] Inconsistente gegevenstypen *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik hoop dat er mensen zijn die ervaringen hebben met Oracle Spatial (onderdeel van o.a. Oracle 9.0i). Als het volgende SQL-Statement wordt uitgevoerd geeft oracle geen fouten terug. Ook in SQL+ geeft hij alle resultaten weer.

> select NAME, MKT_ID, SHAPE
> from COLA_MARKETS

Hierbij is het veld SHAPE van het type SDO_GEOMETRIE.

Nu het probleem, zoals gezegd geeft hij in SQL+ of TOAD alle resultaten goed terug. Ook in PHP geeft hij geen fouten tot het moment dat ik daadwerkelijk de data uit de uitgevoerde query wil halen (OCIFetchInto()). PHP werkt met oracle door middel van de OCI-library, en deze geeft de volgende foutmelding op het moment dat hij probeert het SHAPE veld uit te lezen:

> ORA-00932: Inconsistente gegevenstypen

Voer je de query uit zonder SHAPE veld dan geeft hij de resultaten goed terug.
Heeft iemand hier een oplossing voor? Ik wil namelijk graag de coordinaten van het betreffende SHAPE object terug hebben.

Arjen Steur

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Titel opgeschoond en verduidelijkt

Professionele website nodig?


  • EfBe
  • Registratie: Januari 2000
  • Niet online
10 tegen 1 dat de library die de gegevens ophaalt niet met User Defined Types (UDT's) overweg kan, wat SDO_GEOMETRIE is. Veelal kunnen libraries die communiceren met oracle alleen overweg met de standaard types en *LOB fields (en cursors).

UDT's zijn in feite objects en om daar goed mee om te kunnen gaan moet je in feite de mogelijkheid hebben de objects in je eigen model in te passen. Een TOAD zal gewoon Oracle daarvoor gebruiken, PHP zal het op een eigen object moeten 'mappen' wat natuurlijk niet gaat. Dit is ook de reden dat het in .NET niet werkt bv.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com