Controlling access to Oracle Mapviewer spatial data through VPD

I am building a web GIS application in Oracle Application Express (APEX) and have used the Virtual Private Database feature of Oracle Database 11g Enterprise Edition so as to ensure row level security. I've integrated APEX with Oracle Mapviewer through Oracle Maps API in order to display a map.
VPD feature is working properly through the command prompt at the database level but I also need to use the VPD policy at the application level so that each authenticated user can only see his own spatial data on the map.
So far I have accomplished that by creating as many data sources as the number of application users on the mapViewerConfig.xml file. Every time a user logs in the web GIS application, the correct data source is being employed.
I was wondering if there is any other parameterised way that I can perform this access control functionality without having to create all these data sources.
Many thanks in advance.

Yes you can define a single "secure" MapViewer data source to achieve VPD or make use of your database VPD setup. For more details and how to get the Apex app user to MapViewer and then onto VPD you can check out my blog post here: http://oraclemaps.blogspot.com/2008/09/apex-oracle-maps-and-secure-mapping.html
hope this helps,
LJ

Similar Messages

  • Mapviewer spatial data for Italy

    Hi experts,
    Could you please tell us where we download BIEE 11g mapviewer spatial data for Italy?
    Thanks.

    From one of the data providers, e.g.
    TomTom: http://www.tomtom.com/en_gb/licensing/products/maps/geospatial-oracle/
    Nokia (Here): developer.here.com
    GfK Geo-Marketing: http://www.gfk-geomarketing.de/en/digital_maps/softwarespecific_maps/maps_for_oracle_spatial.html

  • Mapviewer spatial data

    Hi experts,
    Could you please tell us where we download BIEE 11g mapviewer spatial data for China?
    Thanks.

    the Spatial Data needs to be downloaded from NAVTEQ
    Find the complete steps and download link here
    http://obieelive.blogspot.com/2012/06/map-viewer-configuration-in-obiee.html?utm_source=BP_recent
    Thanks,
    Sandeep

  • Acquiring Oracle Spatial Data through WFS

    Hi,
    I have been researching for awhile and am slightly confused.
    I have Oracle Spatial 11g with geometry data and would like to be able to retrieve that data through a WFS to serve to a viewing application.
    Here's where I am confused:
    1) Spatial has a WFS service which needs to be configured. If I were configure that, would I be able to access the data through URL getFeature commands? The documentation I see for them has the getFeature requests in the form of XML files so I am not sure if I can do that. Also it seems like the service is returning .log files but I think I would want GML...
    If this is the option I should take, the tutorial to setup OC4J and the Web Services are for a Linux machine (http://www.oracle.com/technology/obe/11gr1_db/datamgmt/spatialws/spatialws.htm) -- Is there one for Windows 64bit?
    2) Do I need another "application layer" to enable this URL support? I know MapServer can use URL requests.. can I just run this against the data in my DB and forget about the Oracle WFS?
    3) MapViewer seems to work with WFS Themes and handle requests through Java and SQL.. is this another option?
    I am basically confused as to where everything sits and what I should be focusing on to get my Spatial data out of the DB through a WFS. Any assistance on this matter would be greatly appreciated!
    Thanks!

    Any help debugging this issue would be greatly appreciated:
    As per the documentation:
    http://localhost:8888/SpatialWS-SpatialWS-context-root/wfsservlet?request=GetCapabilities&service=wfs&version=1.0.0
    :this get request should return the capabilities info however I receive this error message instead in the browser:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ogc:ServiceExceptionReport version="1.2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://localhost:8888/examples/servlets/xsds/OGC-exception.xsd" xmlns:ogc="http://www.opengis.net/ogc">
    <ogc:ServiceException code="WFS-1042">Exception during processing request</ogc:ServiceException>
    </ogc:ServiceExceptionReport>
    The sytem out from the oc4j container provides this error message:
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    INFO] No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.WSProperties, Tue Apr 27 15:47:38 MDT 2010,
    ERROR] Oracle Spatial WS Server could not set up configuration parameters: jav
    a.lang.RuntimeException: No subject specified in request.
    10/04/27 15:47:38 [oracle.spatial.ws.servlet.WFSServlet, Tue Apr 27 15:47:38 MDT
    2010, FATAL] java.lang.RuntimeException: java.lang.RuntimeException: No subject
    specified in request.
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:705)
    at oracle.spatial.ws.servlet.WFSServlet.doGet(WFSServlet.java:108)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletReque
    stDispatcher.java:734)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(Ser
    vletRequestDispatcher.java:391)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequ
    estHandler.java:908)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpReques
    tHandler.java:458)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpReque
    stHandler.java:226)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:127)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.ja
    va:116)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSo
    cketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(Server
    SocketAcceptHandler.java:234)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocket
    AcceptHandler.java:29)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(
    ServerSocketAcceptHandler.java:879)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.RuntimeException: No subject specified in request.
    at oracle.spatial.ws.WSProperties.getUser(WSProperties.java:574)
    at oracle.spatial.ws.WSProperties.getProperties(WSProperties.java:695)
    ... 16 more

  • Mapviewer - Spatial Data Cache

    I am trying to clear the spatial data cache in two different versions (mv10 & mv11ea) of Mapviewer without success. To confirm that the cache is being cleared I have enabled the report_stats as below in the mapViewerConfig.xml for both versions
        <spatial_data_cache   max_cache_size="64"
                              report_stats="true"
        />After a few requests I note the following in the log:
    Cache group PARCEL_VIEW_SHAPE_82473_PDT_GEOM statistics:
       capacity: 262144
           size: 145988
    load factor: 0.95
        # of chains: 88837
    max chain depth: 8
    avg chain depth: 1.6433242905546113
    empty bucket %: 0.6611137390136719
    total mem size : 28169KBKnowing (assuming) that this cache group is populated by a single theme that references the PARCEL_VIEW table I then issue the following via the Admin section of the Mapviewer control.
    <?xml version="1.0" standalone="yes"?>
    <non_map_request>
      <clear_theme_cache data_source="vicmap" theme="THEME_PARCEL" />
    </non_map_request>Then, after waiting patiently for the next set of statistics to appear in the log (BTW, is there a way to change the frequency from 10 minutes to something more regular?) I notice that the information for the cache group has not changed.
    Am I following the correct steps here? If I wish to clear the spatial cache, should I be monitoring these statistics?
    All advice most welcome.
    Ross.

    Hi Ross,
    we'll review the statistics reported and check why it is not changing. The frequency is currently hard-coded (5 minutes), and there is no parameter on the configuration file to change that. We may consider this in the future.
    Joao

  • Mapviewer - Spatial Data licensing

    Hi,
    I am working for a fortune 500 company and We are looking forward to use Oracle Mapviewer. My VPs straight question is how much the licensing cost per CPU? And I also know that in order to use MapViewer we need Oracle Spatial data how much will it cost per CPU?? Can any one help me with this question. We are using OBIEE 10g and SQL Server database.
    Thanks in advance,
    DK

    the Spatial Data needs to be downloaded from NAVTEQ
    Find the complete steps and download link here
    http://obieelive.blogspot.com/2012/06/map-viewer-configuration-in-obiee.html?utm_source=BP_recent
    Thanks,
    Sandeep

  • Spatial data through JDBC driver

    Hi,
    I have a spatial table which has polygon, linestring and points stored in the geometry column. Is there any API available to know whether the stored data is ploygon/point/linestring. I am using thin JDBC driver to connect to Oracle. Also are there APIs available to get the coordiniates, offset etc from polygon. Please let me know if there are any tutorials/examples available for working with spatial data and JDBC driver.
    Smitha

    Hi,
    You could use Oracle Spatial Java Class Library, available at: http://www.oracle.com/technology/software/products/spatial/index.html
    It is quite easy to use it.
    Regards,
    Andrejus

  • MapViewer spatial data for UAE

    Hi Experts,
    I have been integrating maps for OBIEE implementations. Now I have landed on a requirement to create a map for UAE countries.
    Is there any spatial data available in oracle for UAE.??
    Thanks in Advance,

    From one of the data providers, e.g.
    TomTom: http://www.tomtom.com/en_gb/licensing/products/maps/geospatial-oracle/
    Nokia (Here): developer.here.com
    GfK Geo-Marketing: http://www.gfk-geomarketing.de/en/digital_maps/softwarespecific_maps/maps_for_oracle_spatial.html

  • MS Access to ORacle 8i - loading data Error

    I'm able to create all the access db objects in an Oracle 8i database.
    When I try to load the data I get this in the error.log file:
    EXCEPTION : LoadTableData.run() : [Microsoft][ODBC Driver Manager] Driver does not support this function
    I have MSAccess97 SR-2 installed. My ODBC Microsoft access driver is 4.00.420200
    Any ideas of what I'm doing wrong.
    Thanks!
    Patricia Pierson
    IBM Global Services DBA
    303.571.6380
    [email protected]
    null

    Hi ,
    Please e-mail [email protected] with your issue.
    Regards
    John

  • Upload data from microsoft access to oracle form(in data block)

    Hi all,
    Any one can help me, how we can upload data from access file to developer form(in data block).
    as
    we upload data from text file to developer form(in data block) using some packages.
    Thank's in advance

    Hi Zuhair,
    If you give details of the problems you are still having then we should be able to get SQL*Developer to work.
    However, if you don't want to use SQL*Developer then the following options are taken from note 393760.1 available in Metalink if you have access to that -
    1. Use a gateway that supports the non-Oracle database or generic connectivity if a third party ODBC driver is available to do a -
    'create Oracle_table as select from non_oracle_table@database_link'
    for each table. You would then have to manually create all the other objects (views, indexes, stored procedurs etc) and permissions etc that existed in the non-Oracle database.
    2. Use the SQL*Plus COPY command to copy data from the non-Oracle database to the
    Oracle database using a gateway or generic connectivity. The syntax is as follows:
    COPY FROM username/password@oracle_sid -
    INSERT destination_oracle_table -
    USING query;
    The following example selects all rows from the EMP table in the non-Oracle database and
    inserts them into the local Oracle EMP table:
    COPY FROM SCOTT/TIGER@ora10 -
    INSERT EMP -
    USING SELECT * FROM SCOTT.EMP@gateway;
    where "gateway" is the database link created for the gateway.
    3. Load the non-Oracle data into flat files and use SQL*Loader to put the data into Oracle tables. Again manual
    work is required for the other objects.
    4. Contact the Oracle Product Technology Services (PTS) group for assistance. See the webpage -
    http://www.oracle.com/technology/tech/migration//workbench/index_sqldev_omwb.html
    5. Use a third party migration tool. See -
    http://www.oracle.com/technology/tech/migration/isv/third_party.html
    6. Use JDBC to connect to the non-Oracle database and Java in the Oracle database. This method will work but it is not suppported by the JDBC team.
    =========
    The amount of work involved will depend on the number and size of Access tables that you want to migrate.
    Regards,
    Mike

  • Update oracle table using data through ODBC

    Hi,
    I want to update tables inside an Oracle 8i database.
    The updates depend on data in a mySql database that I want to approach using an ODBC connection.
    I cannot figure out what I need to do to select data from an ODBC source from an oracle session.
    What do I have to call this external table ...
    Edward

    The following link may be relevant. Check it out.
    http://download-east.oracle.com/docs/cd/A87860_01/doc/server.817/a76960/hs_admin.htm

  • How to access an action's Due Date through the GP API

    I'm new to the GP API, and I would like to know how can I get/set an action's due date and notifications at runtime.
    Is it possible to create new actions and attach them to a process?
    Thanks in advance

    Thanks for your reply. You know? I already looked at those documents before, but I couldn't find the right API to acomplish my requirement.
    What I've found over and over is how to retrieve the notifications belonging to the process. But these are not the notifications that I need. Like the post's title reads, I need the <i>Activities/Actions</i> notifications.
    I read there's a method in the <i>NotificationManager</i> API to do so, but so far I've only manage to get a <i>NullPointerException</i>
    Here's the code:
    String processId = executionContext.getProcessId();
    String activityId = executionContext.getTaskId();
    IGPNotificationInstance notificationInstance =
            ntfm.retrieveNotification(
                    processId, activityId, notifId);
    String idNotificacion = "";
    if (notificationInstance != null) {
        deadline = notificationInstance.getDeadline();
    The notification ID comes from watching the faulty notifications in the queue manager (so it's hard-coded)
    It doesn't matter what property/method I try to access from the <i>notificationInstance </i>object. I get a <i>NullPointerException</i>.

  • Access to non spatial tables in oracle mapviewer/ oracle maps V2

    Hello,
    We want to have access to non spatial oracle tables (for value list creation etc), existing in oracle mapviewer spatial datasource (ex datasource: MVDEMO/ nospatial table: Employees).
    We have allready created the datasource MVDEMO and we want to avoid the creation of an external datasource to the same oracle user.
    Thxs,
    Bill

    Thanks.  Your answer was very helpful.  It pointed me in the right direction.  I wanted to be able to generate a table, below the map, which listed all the points (and their associated data) shown on the map.  The simplified code I used is shown below.  The function is called using an event listener (map.addListener(OM.event.MapEvent.LAYER_ADDED, createTable) which fires after the pointlayer is added to the map.
    function createTable(evt) {
        var tableRecords = pointLayer.getAllFeatures();
        var tableRecordsAttr = pointLayer.getAttributeNames();
        divElem = document.createElement('div');
        tableElem = document.createElement('table');
        tbodyElem = document.createElement('tbody');
        rowElem = document.createElement('tr');
        // create the table headings     
        for (var i = 0; i < tableRecordsAttr.length; i++) {
            colElem = document.createElement('th');
            colElem.appendChild(document.createTextNode(tableRecordsAttr[i]));
            rowElem.appendChild(colElem);
        tbodyElem.appendChild(rowElem);
        // populate each row of the table with data
        for (var i = 0; i < tableRecords.length; i++) {
            rowElem = document.createElement('tr');
            for (var j = 0; j < tableRecordsAttr.length; j++) {
                colElem = document.createElement('td');
                colElem.appendChild(document.createTextNode(tableRecords[i].getAttributes()[tableRecordsAttr[j]]));
                rowElem.appendChild(colElem);
            tbodyElem.appendChild(rowElem);
        tableElem.appendChild(tbodyElem);
        divElem.appendChild(tableElem);
        document.getElementsByTagName('body')[0].appendChild(divElem);

  • Can i access the Oracle Demand Planning Cubes using the AWM?

    Hi All,
    Is it possible to access the Oracle Demand planning data which is stored as Express server using the Analytic workspace manager?
    Any information regarding this is really appreciated.

    Abdul Hafeez,
    Is ODP using Express Server or Oracle OLAP Analytical workspaces?
    If Express Server is being used by ODP, then you cannot create sql views for OBIEE.
    If Oracle database is being used for ODP data, then it is storing the data in Analytical workspaces. In that case, you can manually create OLAP views using OLAP_TABLE function. To do that, you will first have to know all the required structures inside the Analytical workspaces. Without that knowledge, you will not know what olap structures to "expose" in the OLAP views.
    You can read about OLAP_TABLE function from Oracle 10g documentation http://download.oracle.com/docs/cd/B19306_01/olap.102/b14350/olap_table.htm
    If you are using 9i database for ODP, then read about OLAP_TABLE function from 9i documentation http://download.oracle.com/docs/cd/B10501_01/olap.920/a95295/olap_tab.htm
    - Nasar

  • Cannot edit Oracle Spatial data

    Hello,
    I am running into some problems with my Oracle Spatial data. Maybe somebody has some insight. Here's what is going on:
    1) I am able to connect to and view the data in uDig but I cannot edit the data and also the data shows up in the table of contents with a line symbol even though it is polygon data (it renders correctly in the map as polygons). I try using the 'Create Polygon Geometries' tool and it errors saying 'Create Polygon Tool' cannot operate on current layer.
    2) When I try testing edits through WFS-T it errors and tells me that the table is read only.
    The table is in the USERS tablespace and I have verified that it is read/write. I also set object permissions on the user: ALTER, DELETE, INSERT, SELECT, UPDATE
    Am I missing something obvious? Anyone else have this problem? Thanks a lot for any ideas anyone has.

    My apologies for the confusion. My insert statement DID work just fine. I just wasn't seeing it...probably because I was querying the table in Enterprise Manager DB Control and it looks like it takes some time to refresh. So it appears that user permissions are not the issue.
    I have used two data loading methods:
    Before loading data, I needed to create a user defined coordinate reference system:
    1 create projection operation for my custom projection
    2 configure projection parameters
    3 create the projected CRS in mdsys.sdo_coord_ref_system
    First data load steps
    1 shp2sdo.exe my_shapefile my_table -g geom -s 1000002 -v
    2 execute my_table.sql
    3 execute sqlldr.exe
    4 EXECUTE SDO_MIGRATE.TO_CURRENT('my_table','GEOM');
    5 CREATE INDEX my_table_index ON my_table(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    Second data load steps:
    1 open up MapBuilder, make a connection, and go through the Import Shapefile wizard. MapBuilder automatically creates a spatial index.
    Does it appear that I am missing any steps or doing anything obviously wrong that would be causing me to not be able to edit the data through clients such as uDig or WFS-T?

Maybe you are looking for