photo

Vincent Millar

shared this problem
6 years ago

Statistics

1
Comments
411
Views

Relates to

Share

Tags

1
votes

SSMA warnings

Hi DB Best,

I see that SSMA generates a lot of warnings like these.

1. The value of @@FETCH_STATUS might be changed by previous FETCH operations on other cursors, if the cursors are used simultaneously.2. Oracle SUBSTR function and SQL Server substring function may give different results.3. Conversion from NUMBER datatype can cause data loss

Can you explain if they indicate real problems, or can they be just ignored?

Best regards,

Vincent

Add Comment

Comments (1)

photo
1

Hi Vincent,

1. This warning makes sense if two or more cursor loops are nested. In this case, there is a possibility that the status set by FETCH operation for one cursor will be used to break the loop of another cursor. If correct check for @@FETCH_STATUS immediately follows the FETCH command (a typical situation), you have nothing to worry about. The root of the problem: Oracle maintains a separate status for each cursor, while SQL Server has only one global fetch status (@@FETCH_STATUS).2. Different results are possible only if second and/or third argument of SUBSTR are zero or negative.3. When no precision and scale specified, Oracle NUMBER can hold a very wide range of values. During the conversion time, it is not possible to choose the most appropriate mapping. By default, SSMA converts NUMBER to float(53), but a source NUMBER can hold more decimal digits than float(53), hence the warning.

Best wishes,

= = Yuri Rusakov

Leave Comment

photo

Attach files...

The file must be a jpg, gif, png, bmp, ico, pdf, doc, rtf, txt, zip or rar no more than 2M