Is there any way I can determine the algorithms used to generate the GUIDs
on both DBs so that I can format them (if I have to) in a way that they
will
never collide? I use sys_guid() to generate GUIDs in Oracle, and NewID() in
SQL Server.
Any suggestions would be appreciated.
- TIA -
~ Uma Muthu ~
GUID's are 128 bit values, you shouldn't worry about collisions as the
chance of this happening is so fantastically small.
I agree but at the same time it is theoretically possible. Can you put them into
ranges such that values are not accepted and another attempt made unless they
are obviously separate?
--
Daniel Morgan
http://www.outreach.washington.edu/extinfo/certprog/oad/oad_crs.asp
damo...@x.washington.edu
(replace 'x' with a 'u' to reply)
Even if you knew the algorithms, you wouldn't have any assurance that
one of the vendors couldn't change it in some way that still guaranteed
uniqueness in their own product but now produced collisions across both
products. I would suggest that you add a byte and use 0 for Oracle and
1 for SQL Server, etc...
Richard Kuhler
Theoretically possible but very improbable (2^128 = 3.4028E+38) though it's
really dependent on the algorithm used for generation. The only way to
guarantee uniqueness is to tack on a database identifier to the GUID.
Tag the oracle rows with a sequence starting at 1
Tag the sql server rows with a "sequence" starting at 1000,000,000
should be fine for the first billion rows
hth
connor
--
=========================
Connor McDonald
http://www.oracledba.co.uk
"Some days you're the pigeon, some days you're the statue"
> GUID's are 128 bit values, you shouldn't worry about collisions
> as the chance of this happening is so fantastically small.
But, when the collision happens once, and he didn't account for
it...
--
Galen Boyer