Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Use the oracle spatial tables in MapX

411363Jan 22 2004 — edited Jan 25 2004
Hi:

I use Mapx4.51 delphi6 oracle8.16

When I use layerinfo object to download the oracle layer,I get the error as follows:
'DBMS Error,found Object column but no MapCatalog entry
exists'

Would You like Help me to resolve the problem?Thanks!!

I create a oracle spatial table like this:
--create spatial table
create TABLE CITY(
CITY_ID NUMBER CONSTRAINTS CID PRIMARY KEY,
CITYNAME VARCHAR2(10),
GEOLOC MDSYS.SDO_GEOMETRY
);
--insert point to table
INSERT INTO CITY VALUES(
1,
'SHIMEN',
MDSYS.SDO_GEOMETRY(
2001,
NULL,
MDSYS.SDO_POINT_TYPE (
30,
45,
NULL),
NULL,
NULL
)
);

INSERT INTO CITY VALUES(
2,
'SHEN',
MDSYS.SDO_GEOMETRY(
2001,
NULL,
MDSYS.SDO_POINT_TYPE (
30,
45,
NULL),
NULL,
NULL
)
);

--update
insert into USER_SDO_GEOM_METADATA
VALUES(
'CITY',
'GEOLOC',
MDSYS.SDO_DIM_ARRAY(
MDSYS.SDO_DIM_ELEMENT('X',0,180,0.005),
MDSYS.SDO_DIM_ELEMENT('Y',0,90,0.005)
),
NULL
);

--create spatial index
CREATE INDEX CITY_QINDX
ON CITY(GEOLOC)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
PARAMETERS('SDO_LEVEL=6')

--The Mapinfo_mapcatalog table have existed ,so i insert
--a new entry to it.
insert into MAPINFO.MAPINFO_MAPCATALOG
(SPATIALTYPE,TABLENAME,OWNERNAME,SPATIALCOLUMN,DB_X_LL,DB_Y_LL,
DB_X_UR,DB_Y_UR,COORDINATESYSTEM,SYMBOL,XCOLUMNNAME,YCOLUMNNAME)
values
(13.0,'CITY','STUDY','GEOLOC',0,0,180,90,NULL,'SYMBOL(35,2,12)','NO_COLUMN','NO_COLUMN');

Now, When I use the layerinfo object I get this ERROR,I don't know how to resolve it!

Map1.Geoset :='';
qry := 'select * from CITY';
Conn := 'SRVR=ORAMAP;UID=study;PWD=study';
lInfo := CoLayerinfo.Create;
lInfo.Type_ := miLayerInfoTypeServer;
lInfo.AddParameter('name', 'MYCITY');
lInfo.AddParameter('ConnectString', Conn);
lInfo.AddParameter('toolkit', 'ORAINET');
lInfo.AddParameter('Query', qry);
lInfo.AddParameter('cache', 'ON');
lInfo.AddParameter('mbrsearch', 'OFF');
lInfo.AddParameter('AutoCreateDataset', 1);
lInfo.AddParameter('Datasetname', 'MYCITY_Dataset');
Map1.Layers.Add(lInfo,emptyparam);

The Error Information is:
'DBMS Error,found Object column but no MapCatalog entry
exists'.



The Mapinfo_mapcatalog table have been created by easyloader when I uploaded the ASIA.tab.
When I use these tables that were uploaded by easyloader ,I can USE these tables in my MapX application.
But if these spatial tables were created by me,these tables can't be used in my applicaton and I always get the error :'found Object column but no MapCatalog entry
exists'.

Thanks For YOUR Help!
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 22 2004
Added on Jan 22 2004
3 comments
537 views