View Single Post

   
  #1 (permalink)  
Old 04-08-2008, 10:25 AM
pieter
 
Posts: n/a
Default OO4O and Spatial

Hi All,

I have the following code that fails. I suspect that I am doing
something really dumb, but I don't know how to locate the problem.

It fails on the ExecuteSql line with the error: 440: OIP-04149: Invalid
input object for field and parameters

Dim oraSession As New OracleInProcServer.OraSessionClass
Dim userSession As OracleInProcServer.OraDatabase
Set userSession = oraSession.OpenDatabase("aubis", "aubis/aubis",
0)
userSession.AutoCommit = False

Dim sql As String
sql = "UPDATE MAP_CLASTS SET GEOMETRY = :GEOMETRY WHERE CLAST_ID =
2001"

Dim sdo_geom As OracleInProcServer.OraObject
Set sdo_geom = userSession.CreateOraObject("MDSYS.SDO_GEOMETRY")

Dim sdo_elem_info As OracleInProcServer.OraCollection
Set sdo_elem_info =
userSession.CreateOraObject("MDSYS.SDO_ELEM_INFO_A RRAY")

Dim sdo_ordinates As OraCollection
Set sdo_ordinates =
userSession.CreateOraObject("MDSYS.SDO_ORDINATE_AR RAY")


sdo_elem_info.Append (1)
sdo_elem_info.Append (2)
sdo_elem_info.Append (1)

sdo_ordinates.Append (10#)
sdo_ordinates.Append (0#)
sdo_ordinates.Append (0#)

sdo_ordinates.Append (0#)
sdo_ordinates.Append (10#)
sdo_ordinates.Append (0#)

sdo_ordinates.Append (10#)
sdo_ordinates.Append (10#)
sdo_ordinates.Append (0#)


sdo_geom.Item(1).Value = 3002 'SDO_GTYPE
sdo_geom.Item(2) = Null
sdo_geom.Item(3) = Null

sdo_geom.sdo_elem_info = sdo_elem_info
sdo_geom.sdo_ordinates = sdo_ordinates


Dim params As OracleInProcServer.OraParameters
Set params = userSession.Parameters

params.Add "GEOMETRY", sdo_geom, 2
params("GEOMETRY").serverType = ORATYPE_OBJECT

userSession.ExecuteSQL (sql)

params.Remove ("GEOMETRY")

Reply With Quote