我开始说我绝不是PL / SQL或T-SQL专家,我只是真正了解基础知识,但我被要求接受一个项目迁移约1,700 PL / SQL过程包到T-SQL。即使我知道PL / SQL,最好的方法是使用自动化工具来至少覆盖大部分翻译。我一直在使用Microsoft的SQL Server迁移助手。阅读this article.后,我认为可以转换单件PL / SQL。
当我迁移架构时,每次都会给我3个错误。同样的3个错误。基本上它根本不进行迁移。它似乎只是评论了整个事情?
我只是想知道出了什么问题以及为什么不进行迁移。从第二个错误我的印象是它没有转换,因为它正在寻找' stage_sendup_nb'但是这并不存在于数据库中,因为我只是将SQL粘贴在。
中答案 0 :(得分:2)
“Unparsed SQL”表示它无法识别您尝试转换的语句。 SQL语句最不可能支持CREATE PROCEDURE。当你有一个转换程序时,最好在程序中找到它并从那里转换。 “Snippet”转换非常有限,它旨在转换一两个语句,通常是您想要在迁移的数据库上尝试的一些特定查询(例如SELECT或UPDATE)。
SQL的任何转换(包括过程和SQL语句)都依赖于Oracle中可用的正确元数据。因此,您必须使用所有引用的表,过程等连接到Oracle数据库,以转换甚至一个过程。通过这种方式,SSMA了解有关引用对象的详细信息。