>B) Once we have the "spatialized" Oracle8i on our machines,
>what steps must be taken to 1) place into the 8i spatial
>environment a set of TAB files from either the 5.5 Professional
>CDROM or the MapX installation data sets? Once this is in
>place, what are the simple steps any interested user, be them
>Oracle or MapInfo, must do to access, display and program a
>small demo of say the San Francisco demo?
I've forwarded your questions in part A of step one to our
sales organization. They either know or know where to find the
answers.
Although this is not as ground breaking as Steve Lombardi's
generating maps from MapXtreme on Linux (mostly because the
engineers here in development and QA have already done it many
times themselves), I recently made a little project of doing
just what you ask about (except for the San Francisco part).
Once you have assembled the pieces from part A (CDs and
sufficient hardware), you can follow these steps in a couple of
hours (less if you already have some of this done or you get it
all right the first time).
- Get and install the following:
- MapInfo Professional
- You need to get the CD. It is not available for download.
- install MI Pro
- install DBMS support
- Oracle8i Spatial Object Support for MapInfo
- install Data
- Oracle8i Enterprise Edition
- Available for download from www.oracle.com, (not in the 'Trial
Software' section, I could only find Oracle8 there), but it is
huge (>100mb), you may be better off with the CD, which you can
also order from the web site.
- Make sure you have enough Virtual Memory (on my IBM ThinkPad
600E w/ 128mb RAM w/ NT 4.0, I had to increase the Paging File
Size to 128mb initial and 150mb maximum)
- Make sure you have enough disk space (the minimum default
installation is over 500mb, but I got it down to about 350 with
the custom install option)
- Install
- Server
- Spatial
- Net8
- Client
- Server
- Database
- Create during installation
- Configure (occurs automatically after installation)
- Connectivity
- TCP/IP
- Database
- Remember (write down) all names and passwords
- MapInfo EasyLoader 4.0
- Available for download at http://testdrive.mapinfo.com/mipro
- install EasyLoader
- Put map data in Oracle database
- Start EasyLoader (Oracle8i should be running if install went well)
- Click on 'Oracle8i' under 'Connection'
- Enter the database name you created during the Oracle
installation
- Enter 'SYSTEM' for the user ID and the password ('manager')
reported during the installation
- if the connection is established properly, the 'Tables...'
button becomes enabled.
- Click on 'Tables...' and specify the 'states' table installed
with MI Pro.
- EasyLoader does not support uploading table types of Raster,
Seamless, MrSID, view tables and Excel. You will get the
error: Error opening table message, if you try.
- An error may occur when uploading a Browser table (table
without a map) if the 'Add to MapCatalog' option is checked.
- Tables in the projection of North American Coordinate
Systems, Equidistant Conic North American can not upload
into Oracle8i.
- Server table names cannot have spaces.
- Tables being uploaded cannot have columns names beginning
with underscores.
- Click on 'Replace/Create Table' under Options
- The rest of the default settings should be fine
- Click on 'Upload'
- Retrieve and display map from Oracle in MapInfo Professional
- Start MapInfo Professional
- Select 'Open DBMS Table...' from the 'File' menu
- Specify 'Oracle8i' as the connection type
- Click 'New...' under 'Connection:'
- Enter the database name you created during the Oracle
installation
- Enter 'SYSTEM' for the user ID and the password ('manager')
reported during the installation
- Make sure 'SYSTEM' is specified under 'Owner'
- Select the table you uploaded with EasyLoader
- Click 'Finish'
- Here you can choose between downloading a complete copy of
the table, or dynamically downloading just what is necessary
to complete the current map view. To try the 'live access',
uncheck 'Download data (Linked Table).
- Click 'Finish' again.
You are now displaying map data retrieved on-the-fly from Oracle8i .
Trouble Shooting (I didn't need any of this, but perhaps you will)
How to start/stop Oracle:
- Start/stop Oracle through the NT Services dialog. You need
to start two services:
- the Oracle Listener, usually called something like
OracleOraHome81TNSListener
- the Oracle RDBMS, usually called something like
OracleServiceORCL, where ORCL is the Oracle Global Database
Name.
If your Oracle database won't shut down it's usually because a user
is still connected to the database. Often times this is because the
client has disconnected but the database still thinks the user is
active. In this case you should invoke the NT Task Manager and kill
the Oracle.exe process.
How to connect to Oracle
You must have a net service name that points to the desired
Oracle Global Database. This may be a local or remote database.
If you don't already have one, use the Start > Programs > Oracle >
Network Administration > Net8 Assistant.
PROBLEM: can you connect to your local database when you're connected
to the LAN, but not when your traveling. You need to set your Oracle
LAN security to NONE.
Edit $ORACLE_HOME\network\admin\sqlnet.ora and go the line that says:
SQLNET.AUTHENTICATION_SERVICES= (NTS) and change it to
SQLNET.AUTHENTICATION_SERVICES= (none)
You can use SQLPLUS to check on the table you upload with easy loader
Common SQLPLUS commands (which do not need a terminating semi-colon):
(for SQLPLUS commands you can abbreviate the command see uppercase)
DESCribe tablename shows the columns and datatypes for
that table
Change/old/new/ replaces first occurrence of old with
new
List shows the SQL command in the buffer
SAVE filespec [REPLACE] saves the SQL buffer to a file.
REPLACE overwrites.
EDit allows editing of SQL buffer in
default editor (i.e. Notepad)
RUN or / runs the command in the SQL buffer
HELP command gives terse help on a specific command
@file.sql runs the SQL found in the file
connect username/password
[@netservicename] connects to local [remote] database
SHOW USER shows what database user you are
Common SQL commands
SELECT * FROM TAB; Shows the tables you own
DROP tablename; Deletes the table from the database
(permanently)!
DELETE FROM tablename; Deletes all the rows in the table.
Should be followed by a COMMIT or
ROLLBACK.
COMMIT; Saves any inserts, updates or deletes.
ROLLBACK; Reverts any changes.
CREATE TABLE newtablename AS
SELECT * FROM oldtablename; Copies oldtable to newtable.
SELECT * FROM tablename
WHERE ROWNUM <= 10; Displays the first 10 rows of the
table.
How to add a user...
SQL> connect system/manager
SQL> GRANT CONNECT, RESOURCE TO newusername IDENTIFIED BY password;
SQL> ALTER USER newusername DEFAULT
SQL> TABLESPACE users QUOTA UNLIMITED ON users;
How to drop a user...
SQL> connect system/manager
SQL> DROP USER username CASCADE; -- drops the user and all the user's
objects
How to add more space to your USERS tablespace
SQL> ALTER TABLESPACE users ADD DATAFILE
SQL> 'c:\oracle\oradata\orcl\users07.dbf' SIZE 250M;
TIP OF THE DAY: The Oracle Enterprise Manager (i.e., OEM) provides a GUI
for doing virtually every DBA task such as adding space, users, dropping
tables, setting permissions and viewing objects. OEM is a separate install.
After installing OEM, check your path to make sure your Oracle8i path is
in front of your OEM path as in:
PATH = c:\Oracle\Ora81\bin;c:\oracle\oem\bin;
Problem: you've installed Oracle Enterprise Manager and now you can't
connect to Oracle. This is usually because OEM puts its path information
in front of your standard Oracle installation. Check your PATH. It should
look something like: d:\oracle\ora81\bin; d:\oracle\oem\bin instead of
the other way around. Also make sure your ORACLE_HOME is set to your
Oracle8i installation. This can be done from: START > PROGRAMS > ORACLE
INSTALLATION PRODUCTS > HOME SELECTOR.
How to make sure a table is mappable
These first items are generic to any Oracle8i Spatial client:
- For Oracle 8.1.5 make sure that the SDO_GEOM_METADATA table exists
for each user that creates spatial tables.
- Check to see that each spatial table has an entry in the
SDO_GEOM_METADATA table. Normally, this entry is added by EasyLoader.
- Make sure that there are not duplicate entries in the
SDO_GEOM_METADATA table.
- Confirm that the SDO_GEOM_METADATA entry specifies the correct spatial
column in COLUMN_NAME. Is the entry uppercase (i.e., GEOLOC)?
- Does the spatial table have a spatial index? Enter SELECT * FROM
TAB; in SQL*Plus. You should notice that each spatial table has a
secondary index table. For example if the spatial table is named CARS
the spatial index will be called CARS_sx_HL6N4$. You may have to drop
and recreate the index as in:
DROP INDEX CARS_SX; or DROP INDEX CARS_SX FORCE;
CREATE INDEX CARS_SX on CARS (GEOLOC) INDEXTYPE IS
MDSYS.SPATIAL_INDEX PARAMETERS (?SDO_LEVEL = 6, SDO_NUMTILES = 4?);
The same command can be done with:
ALTER INDEX CARS_SX REBUILD PARAMETERS
(?SDO_LEVEL = 6, SDO_NUMTILES = 4?);
These next items are specific to MapInfo:
- Make sure that the MapInfo_MapCatalog table exists in the MapInfo
user. This can be created via MapInfo Professional (FILE > RUN
MAPBASIC PROGRAM Tools\miodbcat.mbx followed by TOOLS > DBMS
Catalog > DBMS Catalog > CREATE CATALOG). Miodbcat requires that
you can connect to Oracle with a DBA account (e.g. SYSTEM/MANAGER).
- Check to see that there is an entry in the mapinfo_mapcatalog for
every spatial table. Usually this is done via MapInfo Professional
(Make Table Mappable button).
- Confirm that each entry in the mapinfo_mapcatalog refers to the
correct spatial column (usually GEOLOC) SELECT *
FROM MAPINFO_MAPCATALOG;
- Does the user who owns the spatial table have read access to the
mapinfo_mapcatalog. Access can be given with: GRANT SELECT ON
MAPINFO_MAPCATALOG TO PUBLIC.
- If you need read/write access to the spatial table, then it must
have a numeric (not character) primary key. Normally, this index
is created by EasyLoader.
----------------------------------------------------------------------
To unsubscribe from this list, send e-mail to [EMAIL PROTECTED] and put
"unsubscribe MAPINFO-L" in the message body, or contact [EMAIL PROTECTED]