[Geomoose-users] PGDB mdb query.php
    Reynolds, Michael J. (DOT) 
    Mike.Reynolds at state.mn.us
       
    Sun Jul 11 17:39:04 EDT 2010
    
    
  
Wondering if any users can confirm or deny that a search tool using query.php and a map file with a data connection to a personal geodatabase (.mdb) will work.
I'm using GeoMoose 2.0.
I'm struggling to set this search tool up in my environment. 
The layer's map file settings are:
    NAME 'Cabinets'
    CONNECTIONTYPE ogr
    CONNECTION '\\ad\metro\roseville\data\traffic\gis\mte_systems.mdb'
    DATA "SELECT OBJECTID, SHAPE, SYSTEM_ID, CABINET_ID, LAYOUT_URL, CABINET_TYPE, CABINET_VOLTS, ROADWAY_NAME, LOCATION, QUAD, METER_VENDOR, METER_ACCOUNT, METER_ADDRESS, METER_NBR, PREMISE_NBR, OWNER_CODE, SHARED_POWER_CSV, format(DATE_LOGGED,'mm/dd/yyyy') AS CDATE_LOGGED, format(DATE_INSTALLED, 'mm/dd/yyyy') AS CDATE_INSTALLED, format(DATE_TURNON, 'mm/dd/yyyy') AS CDATE_TURNON, format(DATE_RETIRED, 'mm/dd/yyyy') AS CDATE_RETIRED, GEOMSRC_CODE FROM LIGHT_CABINETS WHERE (DATE_TURNON < date() OR DATE_TURNON Is NULL) AND (DATE_RETIRED > date() OR DATE_RETIRED Is NULL)"
The mapfile <map-source> entry is:
  <map-source name="traffic_lighting_systems_pgdb" type="mapserver" reference="false">
      <file>/ms4w/apps/metrogis/maps/mapfiles_metro/assets/traffic_lighting_systems_pgdb.map</file>
      <layer name="all"/>
      <layer name="Poles"/>
      <layer name="Cabinets"/>
      <layer name="Utilities"/>
      <layer name="Junctions"/>
      <layer name="PowerSources"/>
  </map-source> 
Note that this layer 
The <Service> is:
<service name="search_lighting_cabinet">
			<url>php/query.php</url>
			<step type="input">
				<input type="hidden" name="highlight" value="true"/>
				<input type="hidden" name="mode" value="search"/>
	
				<input type="hidden" name="layer0" value="traffic_lighting_systems_pgdb/Cabinets"/>
				<input type="hidden" name="template0" value="query"/>
				<input type="hidden" name="fieldname0" value="CABINET_ID"/>
				<input type="select" name="fieldname0" title="Search By:">
					<option value="CABINET_ID">Cabinet ID</option>
					<option value="SYSTEM_ID">System ID</option>
				</input>
				<input type="select" name="comparitor0" title="That: ">
					<option value="like-icase">Contains</option>
					<option value="right-like-icase">Begins With</option>
					<option value="eq-str">Matches Exactly</option>
				</input>
				<input type="user" name="value0" title=""/>
			</step>
	</service>
This layer renders great from the catalog and identify is working fine. The long layer select sql works great.  When I use the search service above from a menu tool, the information panel fills with the search form and I can enter search criteria.  When I hit the search button I get the following error:
Warning: [MapServer Error]: msShapefileOpen(): (/ms4w/apps/metrogis/maps/mapfiles_metro/assets/SELECT OBJECTID, SHAPE, SYSTEM_ID, CABINET_ID, LAYOUT_URL, CABINET_TYPE, CABINET_VOLTS, ROADWAY_NAME, LOCATION, QUAD, METER_VENDOR, METER_ACCOUNT, METER_ADDRESS, METER_NBR, PREMISE_NBR, OWNER_CODE, SHARED_POWER_CSV, format(DATE_LOGGED,'mm/dd/yyyy') AS CDATE_LOGGED, format(DATE_INSTALLED, 'mm/dd/yyyy') AS CDATE_INSTALLED, format(DATE_TURNON, 'mm/dd/yyyy') AS CDATE_TURNON, format(DATE_RETIRED, 'mm/dd/yyyy') AS CDATE_RETIRED, GEOMSRC_CODE FROM LIGHT_CABINETS WHERE (DATE_TURNON < date() OR DATE_TURNON Is NULL) AND (DATE_RETIRED > date() OR DATE_RETIRED Is NULL)) in C:\ms4w\apps\metrogis\htdocs\php\query.php on line 318
I find it odd that "/ms4w/apps/metrogis/maps/mapfiles_metro/assets/" is prefixed to the select or data value.  Shouldn't the database location and name be somewhere in there?  
I have tried keeping the data value a simple table/feature class name to rule that out.  Still an error.
I've tried navigating the query.php (geomoose 2.0) but I can't seem to make heads or tails of it.
    
    
More information about the Geomoose-users
mailing list