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.
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
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
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.
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
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.
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
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?
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
Logged In: YES
user_id=586167
Hi Mike,
Use the -N option with sdelayer to avoid the Y/N prompt.
Cheers,
Mark