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

Reply via email to