如何使用Classic ASP页面从Oracle数据库中读取NCLOB,CLOB数据值?

时间:2011-02-14 23:52:05

标签: oracle asp-classic vbscript ado

我收到以下错误: Microsoft OLE DB Provider for Oracle:不支持数据类型。

有人可以帮我解决这个问题......

情况: 最近迁移的数据库从SQL Server 2005迁移到Oracle 11g。其中一个表在SQL Server中有一些数据类型为ntext的列,在迁移到Oracle期间转换为NCLOB。客户端是通过OLEDB连接访问Oracle数据库的经典ASP页面(VBScript)。 当执行到达读取类型为NCLOB的列的查询(选择查询)时,它将抛出 Microsoft OLE DB Provider for Oracle:不支持数据类型错误。当我拿出那个特定列时,查询运行正常......

问题:如何从经典ASP页面读取NCLOB,CLOB数据值?

如果您需要更多信息,请告诉我......

谢谢..

1 个答案:

答案 0 :(得分:2)

我知道微软的Oracle ODBC驱动程序不支持任何LOB类型 - 我会打赌它的OLE DB提供程序没有给出错误。您可以升级到Oracle OLE DB提供程序吗?

顺便说一句,由于您要从SQL Server迁移到Oracle,您真的需要使用NCLOB数据类型吗?由于Oracle允许数据库字符集为Unicode,因此通常不需要(也不希望)使用NVARCHAR2或NCLOB数据类型,除非您不支持需要非Unicode字符集的旧数据库。对于英语或西方Eurpoean的数据,将数据存储在CLOB中在存储空间方面具有很大的好处,因为CLOB将数据以UTF-8而不是UTF-16存储在NCLOB中(假设您选择了Unicode)数据库的字符集)。消除NVARCHAR2和NCLOB列也可以使前端工具更容易处理数据。