2011-02-28 74 views
0

我们需要帮助将图像类型的数据从SQL Server 2005迁移到Oracle 10g中的BLOB列。将图像类型的数据从SQL Server 2005迁移到Oracle 10g中的BLOB列

图像数据类型的SQL Server 2005列包含从前端附加到系统的文件的数据。文件可能是xls,jpg,txt等。 我们需要将此附件显示在另一个应用程序的前端,该应用程序使用ORACLE 10g作为后端。

我们已经尝试过使用Informatica,但无法查看文件的内容。但它能够检测文件的类型(xls,jpg,txt等),但内容是空白的。我们不确定在进行Informatica映射时是否需要使用任何特定选项。

回答

2

首先,BLOB就是这样。长时间的二进制数据流。没有元数据详细说明数据的格式(如果有的话)。

通常,如果BLOB来自文件,则文件名将被记录在单独的列中。在许多情况下,文件名的后缀表示数据的性质。一个以“.xls”结尾的文件可能是一个Excel电子表格(但您可以很容易地将一个图像文件重命名为以.xls结尾)。音频和视频文件比较复杂,因为后缀可能会给你一个想法,MPG文件可能会在内部使用不同的编解码器。因此,即使其他人在另一台机器上玩得很开心,PC也可能会很高兴玩一些MPG,但不是其他人。

将文件扔到Web浏览器时,会发送一个标题行,如“Content-Type:application/msword”。这向浏览器建议应该使用什么应用程序来打开文件。浏览器采用该建议并打开它认为是最合适的查看器(它可能是PDF阅读器的Adobe Reader,但用户及其操作系统/环境设置可能会指向不同的阅读器,如FoxIt)。

我建议你先将一些文件传输到操作系统。也许可以使用BFILE将它们写入服务器上的OS文件并跨越它们,最好使用原始文件名。然后看看本地/客户端机器是否可以用适当的应用程序打开文件。

如果可以,那么数据是干净的,问题出在应用程序上。您还应该能够使用校验和来确认迁移后的数据与迁移前的数据相同。