使用SSMA在迁移后使用SQL Server验证oracle中的长原始列
我有一个oracle 11g源,我已经使用microsoft的SQL Server迁移助手工具将其迁移到SQL Server 2008。oracle源有一个包含长原始列的表。用于迁移的类型映射为long raw->varbinary(max)。当我使用SQLDeveloper查看oracle数据时,该列仅在每行中显示RAW。但是,在SQL Server中,我能够以字符串格式查看迁移的数据使用SSMA在迁移后使用SQL Server验证oracle中的长原始列,sql,oracle,sql-server-2008,oracle11g,migration,Sql,Oracle,Sql Server 2008,Oracle11g,Migration,我有一个oracle 11g源,我已经使用microsoft的SQL Server迁移助手工具将其迁移到SQL Server 2008。oracle源有一个包含长原始列的表。用于迁移的类型映射为long raw->varbinary(max)。当我使用SQLDeveloper查看oracle数据时,该列仅在每行中显示RAW。但是,在SQL Server中,我能够以字符串格式查看迁移的数据 如何验证或交叉检查oracle中的数据与SQL server中的数据,或者至少可以验证长原始列?如果您仍然可
如何验证或交叉检查oracle中的数据与SQL server中的数据,或者至少可以验证长原始列?如果您仍然可以访问oracle 11g数据库服务器:然后,在oracle数据库上创建到SQL server数据库的远程数据库链接。 有关信息,请参阅 然后,仍然在Oracle上,编写一个PLSQL例程,该例程读取本地Oracle表长原始列中的数据,并将其与远程SQL Server表(迁移的表)中的数据进行比较 您可能需要使用内置的PLSQL UTL_原始包来读取和比较数据。有关如何使用它的信息,请参见 有关11g中原始列的工作时间的信息,请参阅: 请注意,在使用较旧的Oracle数据库(如Oracle 8i)时,如果您的Oracle LONG RAW列大于32K,您将无法使用PLSQL读取这些列,您必须使用其他编程语言来读取它们。
请参见因为
raw
是一种二进制数据类型,所以将其映射到字符数据类型似乎有些奇怪;我本来希望varbinary(max)
。我对SSMA一无所知,但在这种情况下,您可能必须自己迁移二进制数据。至于验证它,这取决于数据实际上是什么,但我假设您可以编写一个短脚本来查询几行,然后尝试在任何知道如何读取它的应用程序中打开二进制数据。它不是varchar(max),而是varbinary(max)。我已经编辑了这个问题。