我收到以下错误: 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数据值?
如果您需要更多信息,请告诉我......
谢谢..
答案 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列也可以使前端工具更容易处理数据。