Autodesk FDO Provider for Oracle API Reference

Oracle Provider API

API Reference Autodesk FDO Provider for Oracle

Introduction

The Feature Data Objects (FDO) API provides access to data in a data store. A provider is a specific implementation of the FDO API that provides access to data in a particular data store. The Autodesk FDO Provider for Oracle provides FDO with access to an Oracle-based data store.

You can create, edit, and delete Oracle data stores and schema, and you can access existing spatial schemas in Oracle that were created by other applications. Oracle has comprehensive support for all the data types and operations that are supported by Autodesk products, including spatial index, long transactions, and persistent locking.

Before you add features to an Oracle data store, make sure your user privileges for that Oracle data store are adequate and appropriate, and that the data in that data store is accurate and current.

An Oracle schema can support the following:
  • Inheritance
  • Multiple schemas
  • Object properties
  • Association properties
  • Schema overrrides
  • Auto ID generation
  • Data store scope unique ID generation
  • Inclusive value range constraints
  • Exclusive value range constraints
  • Value constraints list
  • Null value constraints
  • Unique value constraints
  • Composite unique value constraints
  • Spatial contexts
  • These geometry types: point, line string, polygon,multi-point, multi-line string, multi-polygon, curve string, curve polygon, multi-curve string, multi-curve polygon, linear ring, line string segment, circular arc segment, and ring.

When you create an Oracle schema, the following restrictions apply:
  • A feature class must define or inherit at least one identity property.
  • You cannot specify default values for data properties.
  • You cannot add a non-nullable data property to a class that already has data.
  • Identity properties cannot be nullable.
  • Read-only identity properties must be autogenerated.
  • The length for string properties must be between 1 and 4000 bytes inclusive.
  • For decimal properties, precision must be between 1 and 38 inclusive and scale must be between -84 and 127 inclusive.
  • A feature class can have multiple geometric properties; main geometry is not mandatory, but this attribute of the feature class indicates which geometry property to use as the default for queries and rendering. HasMeasure and HasElevation are supported.

You can add a user for an Oracle data store using the FDO User Manager utility.

For more information, see The Essential FDO (FET_TheEssentialFDO.pdf) and the FDO Developer's Guide (FDG_FDODevGuide.pdf).

Version Enabling

The Autodesk FDO Provider for Oracle creates tables in the FDO data store that are not automatically version-enabled. Therefore, when you create a new Oracle data store using the default options, the resulting table is not version-enabled, so persistent locking and long transactions are not supported. (This differs from previous releases.)

Oracle Workspace Manager (OWM) is used for versioning and persistent locking support. To enable versioning, you must execute the EnableVersioning.sql script in the /FDO/bin/com folder of the Autodesk product install folder. This will enable the tables for OWM. Use the Oracle SQL*Plus tool to execute the scripts.

Note:
If you create a data store in AutoCAD Map 3D 2008 that you want to use with the previous version of Autodesk Map 3D, you must set the value of the lock and long transaction options in the table F_Options in the generated data store to 2. You can do this with the supplied SQL script EnableVersioning.sql, which also enables versioning for all tables and allows the creation of conditional data. Do not make this change to F_Options in the database if you do not plan to use it with the previous version of Autodesk Map 3D.

Read the documentation contained within the script files themselves to determine what privileges are required for each script, how to run the scripts, and what errors may occur. Severe consequences can occur if you respond incorrectly to any errors you encounter while running a script.

Note:
The DisableVersioning.sql script in the same folder provides the opposite functionality.

Before executing the scripts, the following conditions must be true:

  • You always connect directly to the Oracle user (or FDO data store) to be processed.
  • The Oracle user executing the script has sufficient privileges (this user has been granted the Workspace Manager role WM_ADMIN_ROLE).
  • The Oracle user executing the script is the only user processing or accessing the current Oracle user (or FDO data store) during the execution of the script. Otherwise, a script failure may result from a session conflict.

You can create a script log file by executing the spool [log file name]; command before invoking the scripts and the spool off; command after the invoked script finishes. The log file can help you resolve any issues encountered by the scripts.

Localization

A locale is defined as a linguistic and cultural environment in which a system or program is running.

Note:
If you plan to localize Autodesk FDO Provider for Oracle, you must be aware of the following connection string parameters:
  • Username
  • Password
  • Service
For example, these connection string parameters are used in the FDO Data Connect dialog box. These string parameters are specific to the FDO Provider for Oracle and are globalized in the coremsg.dll binary. They are not localized.

Globalization Support

Using Oracle's globalization support, you can store, process, and retrieve data in native languages. Setting specific Oracle environment parameters is the simplest way to specify the locale behavior for Oracle software. These settings can include the Oracle clientÂ’s character set, which is also the character set for data entered or displayed by a client program.

Note:
You must ensure that you have the Oracle server and client globalization settings that are specified to the desired locale, as described in the Oracle documentation.

Also note that AutoCAD Map 3D, for example, relies on the Windows locale for character display.



Comments?