I have created Views in Oracle 8.1.5 that are subsets (SQL) of an Oracle Spatial table. The views can be displayed correctly in MapInfo if you select 'Download Data (Linked Table)' in the 'Open DBMS Table - Step 4 of 4' dialog box. The displayed view is (as expected) read only since there is no Primary Index on the view. If I uncheck 'Download Data (Linked Table)' (ie. direct access) and either select or don't select 'Cache' I get the message: 'Cannot open table for live access. A single Key Column is required on the table. Unable to open table xxx'. Question 1: Is there anyway of displaying an Oracle View as a direct access table in MapInfo? Question 2: What about displaying the same Oracle View in MapXtreme for Java? In MapXtreme I am using the following class: OraSoTableDescHelper(java.lang.String tableName, java.lang.String query, java.lang.String geoTable, java.lang.String geoTableAlias, java.lang.String idColumn, java.lang.String ownerName, boolean bUseQuotes) with parameters: OraSoTableDescHelper("MAP_VIEW", null, "MAPINFO_MAPCATALOG", null, "PRINX", _User, false)); where: MAP_VIEW = a view within Oracle The following exception was thrown when it came to inserting a layer into MapJ: java.lang.Exception: Syntax error on line 1 at com.mapinfo.util.m.matchtok([DashoPro-V1.2-120198]) at com.mapinfo.util.ParamList.read([DashoPro-V1.2-120198]) at com.mapinfo.util.ParamList.read([DashoPro-V1.2-120198]) at com.mapinfo.util.ParamList.<init>([DashoPro-V1.2-120198]) at com.mapinfo.mapxtreme.client.MapXtremeDataProvider.getTableInfo([DashoPro-V1 .2-120198]) at com.mapinfo.mapj.Layer.getTableInfo([DashoPro-V1.2-120198]) at com.mapinfo.mapj.Layers.a([DashoPro-V1.2-120198]) at com.mapinfo.mapj.Layers.a([DashoPro-V1.2-120198]) at com.mapinfo.mapj.Layers.insert([DashoPro-V1.2-120198]) at au.gov.sa.siis.gui.MapPanel.insertLayer(MapPanel.java:584) at au.gov.sa.siis.gui.MapPanel.setBaseMap(MapPanel.java:696) at au.gov.sa.siis.gui.MapPanel.init(MapPanel.java:172) at au.gov.sa.siis.gui.MapPanel.<init>(MapPanel.java:127) at au.gov.sa.siis.gui.DiscoveryQueryPanel.jbInit(DiscoveryQueryPanel.java:194) at au.gov.sa.siis.gui.DiscoveryQueryPanel.init(DiscoveryQueryPanel.java:121) at sun.applet.AppletPanel.run(AppletPanel.java:344) at java.lang.Thread.run(Thread.java:484) Question 3: Is it possible to substitute a View for a Table using the above class? Another form of using the OraSoTableDescHelper class is: String sql = null; sql = "Select GEOM,HEIGHT,ROTATION,TEXTSTRING,MAP_NUM,NAME,SCALE,PRINX From MAP_SHEETS Where SCALE = 50000"; OraSoTableDescHelper(null, sql , null, null, "PRINX", _User, false)); With this, a map layer was inserted into VisualMapJ and was displayed in the map window, however, when it came to using the MapLayerControl, this layer (name) was not listed. Obviously, from the syntax above, it does not appear that any form of identifcation could be made from the dataset retrieved. Question 4: How do we identify the query as a Layer? Question 5: Is there a way to notify the MapLayerControl of the new layer? Thanks in advance for any advice. Christopher Prescott Geospatial International Pty. Ltd. At Fujitsu: Spatial Integrated Information Services (SIIS) Project Phone: (08) 8372 3308 Mobile: 0417 856 109 email: [EMAIL PROTECTED] ---------------------------------------------------------------------- To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put "unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]