Menu

#12 How do I follow up

open
nobody
None
5
2004-04-28
2004-04-28
Mike
No

Hi Mark,

I received your reply from request #943822 and
went in to put in my reply and could not figure out to
enter my reply. Please tell me how to reply using the
original request and below is the results from your
request. provider_dim is a table not created in sde. I
want to use it to poulate the x,y coordinates in the
real_provxy table. I populate the provider_dim table
using a product called geoaccess that populate the x
and coordinates and I thought I would use dbms2sde to
populte the shape table real_provxy. I was given this
task with no documentation or training so if it appears I
am lost I am. Any help would be appreciated.

Thank you,
Mike

sdelayer -o describe -l real_provxy,shape -s jaguar -D
NJDSS -u sde_user -p ******
sdelayer -o describe -l provider_dim,prov_id -s jaguar -D
NJDSS -u sde_user -p ******

ArcSDE 8.1.1 Build 854 Fri Jun 15 22:36:58 PDT 2001
Layer Administration Utility
-----------------------------------------------------

-------------------------------------------------------
---------
Table Owner : SDE_USER
Table Name : REAL_PROVXY
Spatial Column : SHAPE
Layer id : 49
Entities : np
Layer Type : SDE
I/O Mode : NORMAL
User Privileges : SELECT, UPDATE, INSERT, DELETE
Layer Configuration: DEFAULTS

ArcSDE 8.1.1 Build 854 Fri Jun 15 22:36:58 PDT 2001
Layer Administration Utility
-----------------------------------------------------
Error: Layer not found (-20).
Error: Cannot get Map Layer.

Discussion

  • Mark Ohrenschall

    Logged In: YES
    user_id=586167

    You can follow-up by clicking on the "Support" link which
    lets you browse through the various discussions. By "Attach
    A Comment" you can append to the discussion thread.

    BTW, dbms2sde does create the F and S tables.

    Your error (-37 DBMS table not found) doesn't make sense to
    me. Do you have ArcCatalog? That is another way to spatially
    enable a table, but I am not familiar with that way.

    If you want to pursue the dbms2sde option, you can make a
    temporary copy of the original table, and then try
    to spatially enable that temporary copy in place (don't use
    the -stable option).

    Incidentally, what database platform are you using?

    Cheers,

    Mark

     
  • Mike

    Mike - 2004-04-28

    Logged In: YES
    user_id=1029633

    Hi Mark,

    Thanks for the info. Do you mean I should make a copy
    of the provider_dim table and call it provider_dim_test and
    spacially enable provider_dim_test ? Can you give me the
    syntax to spacially enable provider_dim_test. After I spacially
    enable provider_dim_test do I use my original dbms2sde
    syntax to populate real_provxy ?

    Thanks again for your help
    Mike

     
  • Mark Ohrenschall

    Logged In: YES
    user_id=586167

    Yes, try dbms2sde -o point -l provider_dim_test,SHAPE -key
    prov_id -xname LATEST_SVC_ADDR_LONGITUDE -yname
    LATEST_SVC_ADDR_LATITUDE -type B -D NJDSS -u sde_user -p
    ******** -s jaguar

    This is just a test to simplify the problem and see if that
    suggests a solution.

     
  • Mike

    Mike - 2004-04-30

    Logged In: YES
    user_id=1029633

    Hi Mark,

    That seems to work. When I run the dbms2sde program
    to spacialy enable provider_dim it seems to take a long time. I
    set the -c option to 20000 and it seemed to speed it up a
    little. Is there something I can do to make it run faster ? If I
    can't, is there some way to only spacially enable newly added
    records ?

    Thank you very much for all your help,
    Mike

     
  • Mark Ohrenschall

    Logged In: YES
    user_id=586167

    Yes, running dbms2sde on a table inline is very slow. That's
    why I came up with the -stable option which isn't working
    for you for some reason.

    Let's try another experiment. Truncate (but do not drop)
    provider_dim_test and then run dbms2sde again similarly to
    your first attempt, but like so:

    dbms2sde -o point -l provider_dim_test,SHAPE -stable
    provider_dim -key prov_id -xname LATEST_SVC_ADDR_LONGITUDE
    -yname LATEST_SVC_ADDR_LATITUDE -type B -D NJDSS -u sde_user
    -p ******** -s jaguar

    Also, let me know what OS you're running dbms2sde with and
    what database platform.

     
  • Mike

    Mike - 2004-05-03

    Logged In: YES
    user_id=1029633

    Hi Mark,

    I found out why my first command did not work.
    Provider_dim was not owned by sde_user. It was a public
    synonym owned by another user. Once I created the table
    provider_dim under the sde_user the commend worked fine.
    There is still the issue with the speed of the dbms2sde
    command. I would like to know what would happen if I try to
    spatially enable a record that was already spatially enable.
    For example if I had 1 record in provider_dim and I run
    dbms2sde to create a shape record on provider_dim_test a
    record is created on the f and s tables. If I run dbms2sde
    again on the same record with a different longitude and
    latitude I see a new record is created on the f and s tables
    and the shape field on the provider_dim test table is updated
    to point to the new record that is created on the f and s
    tables. Since the dbms2sde command takes a while to run I
    would like to spatially enable all my providers initially and on
    an onginig basis I would like to create a stored procedure that
    would add to a business table (provider_dim) all new providers
    and chages to old providers. When this business table
    (provider_dim) is populated I would run dbms2sde to spacially
    enable the newly added provider and update the existing
    providers and delete the old records from the f and s tables of
    the updated providers. Do you see any problems with this
    approach ? I am running Solaris against an Oracle 8.1.7
    database.

    As always thank you for your help.
    Mike

     
  • Mark Ohrenschall

    Logged In: YES
    user_id=586167

    Dbms2sde is supposed to update the record in provider_dim,
    provided that the primary keys match.

    You said that you saw a new record added to the F and S
    tables when you updated a record. Was a new record likewise
    added to provider_dim, or was the previous record replaced?

    As for speed, are you running with the -load and -buffer
    options?

     
  • Mike

    Mike - 2004-05-04

    Logged In: YES
    user_id=1029633

    Hi Mark,

    I got everything to work manually and now I am at the
    point of automating the process. The first step I take is
    truncating the provider_dim_test table. For the second step I
    am is using the command sdelayer -o delete -l
    real_provxy,shape -s penguin -D NJDSS -u sde_user -p
    ******** sde_user to delete and drop the f and s tables.
    The problem I am running into is when I run this command it
    prompts me to enter y/n to delete the layer. Is there a switch
    I can use to force the Y. If not would it be OK to truncate
    the f and s tables and when I use the dbms2sde command it
    should use the existing f and s tables. Please let me know
    what you think.

    Thanks again,
    Mike

     
  • Mark Ohrenschall

    Logged In: YES
    user_id=586167

    Hi Mike,

    Use the -N option with sdelayer to avoid the Y/N prompt.

    Cheers,

    Mark

     

Log in to post a comment.