Attempting to migrate from Oracle 8i to SS 2008 with SSMA

  • Hello,

    I think I encountered a bug while attempting to migrate away from Oracle 8i (8.1.6.0.0) with SSMA. Using version 9.2.0.1.0 of the Oracle client drivers and version 4.0.1402 of the SQL Server 2008 Migration Assistant for Oracle I encountered the following error (taken from the SSMA log file) when attempting to connect to Oracle :

    [Collector: Mandatory] [1820/4] [2009-01-12 22:43:03]: Oracle connection provider: OracleClient.

    [Collector: Mandatory] [1820/4] [2009-01-12 22:43:03]: Oracle connection mode: Standard.

    [Collector: Mandatory] [1820/4] [2009-01-12 22:43:07]: Oracle server version: '8.1.6.0.0, 64 bit'.

    [Gui: Error] [1820/4] [2009-01-12 22:43:16]: LowLevelAdapter.ReadSource : ReadSource error: System.FormatException: Input string was not in a correct format.

    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

    at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)

    at Microsoft.SSMA.Framework.Oracle.Base.OracleBaseUtils.ParseServerVersion(String serverVersionText)

    at Microsoft.SSMA.Framework.Oracle.Collector.OracleObjectCollector.LoadServerVersion(XMetabase xMetabase, DbConnection connection, Boolean isLoadingFirst, IUIProgressBarProvider progressBarProvider)

    at Microsoft.SSMA.Framework.Oracle.Collector.OracleLazyLoadProvider.RestoreConnection(XMetabase xMetabase, String connectionParameters, SecureString password, ICollectionContext context)

    at Microsoft.SSMA.Framework.Generic.Collectors.Default.DefaultConnectionTracker.RestoreConnection(String connectionParameters, SecureString password, ICollectionContext context)

    at Microsoft.SSMA.GUI.Generic.LowLevel.AppCommandProcessing.Commands.SsmaAppReconnectToSource.ReconnectSourceWithOutEvents(Object context).

    From that stack trace my assumption is our server is reporting its version as '8.1.6.0.0, 64 bit' a format that SSMA isn’t expecting.

    At this point I'm curious if anyone else has run into a similar issue and what they may have done to get around this?

    Thanks for any help you can offer!

    -Chad J

  • I know it has been a long time since this error occurred, but I am hoping you may remember the resolution. I am experiencing the same exact problem, and I cannot find the answer anywhere!

    Thank you,

    Randee

  • Wow,

    This is a blast from the past.

    There was a bug in how SSMA parsed the Oracle version string. Since SSMA was written in .Net I ended using a decompiler on the assembly throwing the error, fixed the bug myself, recompiled the code, there was a registry setting that needed to be set to allow unsigned / unverified assemblies and then I was off to the races.

    Since this was so long ago I don't remember any of the specifics beyond what I just outlined. Good luck!

    Thanks,

    Chad

  • You are so awesome. Thank you for pulling that one out of your hat.

    I figured out that the string was wrong which led me to your post. I was desperate so I modified a view in Oracle to strip out the comma. It worked beautifully. I was able to synchronize the schemas, but now I am having problems getting the data into my sql server db. It traps an Oracle error: ORA-03134: Connections to this server are no longer supported. So I am off to the races again.

    Once again, I appreciate you taking the time to help me. I am going to look into the registry issue as well just in case this is causing a problem somewhere else.

    Best Regards,

    Randee

  • It will be hard to find drivers that connect to Oracle 8i.

    Perhaps you could export the database and import it into Oracle 12 and use that as a source for the migration assistant.

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply