sderaster - copy raster from oracle to ms sql server

284
2
07-15-2011 02:17 AM
MartaPiotrowska
New Contributor
Hello,

I want to copy a raster from raster catalog in oracle 11 to raster catalog in ms sql server 2008 (express edition) using "sderaster -o copy" command:
sderaster -o copy -l GIS_RASTRY_PDKL.GIS_R_SAT,raster -i sde:sqlserver:kom396\sqlexpress -u GIS_RASTRY_PDKL -p passwd -D ewista_gis -f "-l GIS_RASTRY_PDKL.GIS_R_SAT,raster -i sde:oracle11g -u GIS_RASTRY_PDKL -p passwd@KOM504_ORCL2 -W objectid=657"


This command gives me following output:

Warning: Image name will be truncated.

-l GIS_RASTRY_PDKL.GIS_R_SAT,raster -i sde:oracle11g -u GIS_RASTRY_PDKL -p ... -W objectid=657:
Connecting to datasource sde:oracle11g, as user GIS_RASTRY_PDKL

ArcSDE 9.3.1  for Oracle11g Build 2784 Tue Oct 27 10:51:14  2009
----------------------------------------------------------------

Image Dimension..............: 562, 365, 3
Pixel Type...................: uchar
Connecting to datasource sde:sqlserver:kom396\sqlexpress, as user GIS_RASTRY_PDKL
Error: SE_connection_create (-324)
       Server library could not be loaded
Incomplete...


or

Warning: Image name will be truncated.

-l GIS_RASTRY_PDKL.GIS_R_SAT,raster -i sde:oracle11g -u GIS_RASTRY_PDKL -p ... -
W objectid=657:
Connecting to datasource sde:oracle11g, as user GIS_RASTRY_PDKL

Error: SE_instance_status (-324)
       Server library could not be loaded
Incomplete...


(depends on which sderaster command I use - for oracle or for sqlserver).

Copying between to oracle instances works just fine.
Databases are installed on different computers.


Is it ever possible to copy rasters beetwen two different databases using "sderaster -o copy"? If so, what am I doing wrong?
Thanks in advance.
0 Kudos
2 Replies
VinceAngelo
Esri Esteemed Contributor
I think the issue here is the use of Direct Connect to both instances.  You might have more
success if you use an SDK SDEHOME, since they have most of the server libraries installed
in one directory.

I mostly use my own custom raster utilities (sde2raster & raster2sde from se_toolkit) to copy
rasters, and I rarely use Direct Connect for data loading (I usually load on the server anyway).

So you have several options:
1) Use application server connection for one or more of the connections.
2) Use an SDEHOME that has both Oracle and SQL-Server direct connect libraries
3) Use a different utility that only makes one connection at a time (the data flows through
a pipe, so you can change SDEHOME variables before invoking the second instance)

Caveats:
A) No enterprise ArcSDE utility (or custom application built with the 'C' API) is supported for
use with Express-based Personal ArcSDE or Workgroup ArcSDE.
B) 'sde2raster' has a known issue with sparse rasters, where NODATA values aren't populated
correctly when entire tiles are missing (though this seems to have disappeared at 9.3)
C) 'sde2raster' uses only lossless compression on the data stream to 'raster2sde', so images
with lossy compression will expand in size significantly during transfer
D) Copying the SQL-Server server DLLs to an Oracle SDEHOME (or vice versa) may work but is
unsupported (because it would not be upgraded with a service pack).

- V
0 Kudos
MartaPiotrowska
New Contributor
Thanks!

When I used application server connection to source server (oracle) and libraries from sqlserver SDEHOME, the operation succeeded.
0 Kudos