Hi Peter, MapInfo has a rather unhealthy dependence upon the field name "MI_PRINX" as the single numeric primary key field for all Oracle Spatial tables. The assumption that this field exists and is the primary key field in all cases causes some odd behaviour - especially with views - and this may well be one of those cases.
I find the following rules helpful in these situations: 1. Ensure every spatial table has a single numeric primary key field (including a database primary key constraint) 2. If making a view of a spatial table for MapInfo access, ensure that the underlying table's primary key field is called "MI_PRINX" in the view. (This may involve renaming the field within the view itself.) 3. Ensure that Oracle Spatial metadata exists for all "mappable" views - usually a copy of the user_sdo_geom_metadata entry for the original table, with TABLE_NAME changed to that of the view 4. Ensure that the MAPINFO.MAPINFO_MAPCATALOG is maintained with metadata for all "mappable" tables and views (you can use the "Make DBMS Table Mappable" functionality in MapInfo itself.) 5. If you wish to edit the data in a view, and you wish to do so when logged in as a user other than the owner of the view, then make a public synonym of the view, too. I hope one or other of these helps! Cheers, David Jerrard Quoting "D. Peter Berical" <[EMAIL PROTECTED]>: > > Hello! I have a TAB file pointing to a large Oracle table. Within Oracle > I've created a subset "View" of the table. Is there a way a MapInfo Tab > file can point to just the view rather than the original large Oracle > table? I haven't had any luck. > > I have added the name of the view to the MapInfo_Mapcatalog, but I get an > error upon opening the view in MI Pro: "Cannot Open Table for Live Access. > A single numeric key column is required on the table. Unable to open > table." There is no problem opening the original table in MI. > > Here is the tab file contents. EA_2 is the table view name. > > Definition Table > Type ODBC > begin_metadata > "\IsReadOnly" = "FALSE" > "\DATALINK" = "" > "\DATALINK\Query" = "Select * From ""MAPINFO"".""EA_2""" > "\DATALINK\ConnectionString" = "SRVR=test;UID=mapinfo" > "\DATALINK\ToolKit" = "ORAINET" > "\CACHE" = "OFF" > "\MBRSEARCH" = "ON" > end_metadata > > > Has anyone had any experience with this? Thanks for your help! > > > Peter > > _______________________________________________ > MapInfo-L mailing list > MapInfo-L@lists.directionsmag.com > http://www.directionsmag.com/mailman/listinfo/mapinfo-l > _______________________________________________ MapInfo-L mailing list MapInfo-L@lists.directionsmag.com http://www.directionsmag.com/mailman/listinfo/mapinfo-l