如何使用经典ASP页面从Oracle数据库读取NCLOB、CLOB数据值?

如何使用经典ASP页面从Oracle数据库读取NCLOB、CLOB数据值?,oracle,asp-classic,vbscript,ado,Oracle,Asp Classic,Vbscript,Ado,我得到以下错误: 用于Oracle的Microsoft OLE DB提供程序:不支持数据类型 有人能帮我弄清楚这件事吗 情况: 最近将数据库从SQL Server 2005迁移到Oracle 11g。其中一个表在SQL Server中有一些数据类型为ntext的列,这些列在迁移到Oracle期间被转换为NCLOB。客户端是通过OLEDB连接访问Oracle数据库的经典ASP页VBScript。 当执行到达读取NCLOB类型列的查询Select查询时,它将抛出Microsoft OLE DB Pr

我得到以下错误: 用于Oracle的Microsoft OLE DB提供程序:不支持数据类型

有人能帮我弄清楚这件事吗

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

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

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


谢谢..

我知道Microsoft针对Oracle的ODBC驱动程序不支持任何LOB类型-我敢打赌,它的OLE DB提供程序也没有给出错误。能否升级到Oracle OLE DB提供程序


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

感谢您的快速响应。我不确定是否使用Oracle OLEDB provider。我必须找到答案。我通过在检索LOB数据类型时将其转换为字符串来解决此问题,但我不确定这种方式有多好…非常感谢您的评论,谢谢。。我是这样做的,dbms_lob.substr lob_列,dbms_lob.getlengthLOB_列,1作为lob_列的别名