This is a discussion on OO4O and Spatial within the Oracle Miscellaneous forums, part of the Oracle Database category; --> Hi All, I have the following code that fails. I suspect that I am doing something really dumb, but ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| 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") |
| ||||
| pieter schrieb: > 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) Are you sure that this is correct and sufficient? Can you do a "select sysdate from dual" and retrieve the result? Lots of Greetings! Volker -- For email replies, please substitute the obvious. |