Oracle中的lob字段像sql的varchar字段转化
由于Oracle 数据库中的txt类型字段只能存储4000字节的文字,多出的自动截断,所以,我们常常将文字类的大字段存放到lob类型的字段中。如果工作需要在Orcale和sql类数据库中做视图,需要读取lob字段中的文字时,会遇到麻烦,以下是处理方法:
Oracle中的lob类型字段在通过视图接到sql数据中以后,lob字段内容会默认传输字符串,并且字段类型默认是img类型,而img字段不能直接转换为varchar 字段,所以需要二次转换字段类型,才可以呈现出我们想要的文字。我们要做的就是先将img字段转换成varbinary类型,然后再由varbinary转换成varchar 类型,以下是视图中的相关语句:
Oracle服务器ES
Oracle数据库ED,表ET,表中有字段ID,EBLOB,我们需要转换的字段是EBLOB
目的视图V_SQL
以下视图语句应在sql数据库中执行
ALTER VIEW [dbo].[ V_SQL]
AS
SELECT ID,CONVERT (varchar(max),CONVERT (varbinary(max), EBLOB)) as COURSE_CONTENT
from [ES]..[ED].[ET]
GO