Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> 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_ARRAY")
Dim sdo_ordinates As OraCollection
Set sdo_ordinates =
userSession.CreateOraObject("MDSYS.SDO_ORDINATE_ARRAY")
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 (10#) sdo_ordinates.Append (0#) sdo_ordinates.Append (10#)
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") Received on Tue May 09 2006 - 08:49:11 CDT
![]() |
![]() |