We’re working with mapserver and PHP mapscript, we have a build of mapserver that supports Oracle Spatial. We’re using Oracle 9i. Mostly it is working fine, however we have discovered a fundamental problem, not sure if this is a know design limitation or not. When we query a layer that has the connection type "ORACLESPATIAL", if any of the queried fields has a field VALUE length > 256 characters in any of the queried records, we get the following error:

 

“<b>Fatal error</b>:  [MapServer Error]: msOracleSpatialLayerGetShape(): Error: ORA-1406: fetched column value was truncated  . Query statement: SELECT Field1, field2, field3, Field4, field5, field6, Field7, field8, field9, Field10, field11, field12, GEOM FROM MyTable WHERE Field1= 9506 .Check your data statement.”

 

This error appears on the line:

$oShape = $Layer->getShape($oRes->tileindex,$oRes->shapeindex)

 

Note that it doesn’t matter what the actual field length is, if a field is defined as varchar(4000) but the field value is only 250 characters it will work, but as soon as the value is greater than 256 characters it fails.

 

Is this a known limitation, or a bug? I’m hoping it can be resolved, because if not it will blow up what was looking like a fine solution.

 

Thanks all.

 

------------------------------

Mark Adams

Senior Analyst & Project Manager

Cuesta Systems (DPRA Canada)

5230 South Service Road

Burlington, ON L7L 5K2

Phone: 905-333-4544 x14

Fax: 905-333-0455

Email: [EMAIL PROTECTED]

 

Reply via email to