使用的oledb提供程序不一样,对数据类型的支持也不一样. Oracle provider 的情况 provide types -- 这是通过DBSCHEMA_PROVIDER_TYPES取出的类型信息 本地类型 OLEDB类型 char 130 date 135 float 5 number 131 bunber 139 varchar2 130 long raw 128 raw 128 blob 128 clob 130 bfile 128 nclob 130 nchar 130 nvarchar 130 MS Oracle provider 的情况provide types -- 这是通过DBSCHEMA_PROVIDER_TYPES取出的类型信息 本地类型 OLEDB类型 float 5 long raw 128 raw 128 char 129 long 129 varchar2 129 number 131 number 139 date 135可以看出MS oracle provider支持的类型很少,重要的是不支持UNICODE类型.而Oracle provider支持的类型就很全了.
Oracle provider 的情况
provide types -- 这是通过DBSCHEMA_PROVIDER_TYPES取出的类型信息
本地类型 OLEDB类型
char 130
date 135
float 5
number 131
bunber 139
varchar2 130
long raw 128
raw 128
blob 128
clob 130
bfile 128
nclob 130
nchar 130
nvarchar 130
MS Oracle provider 的情况provide types -- 这是通过DBSCHEMA_PROVIDER_TYPES取出的类型信息
本地类型 OLEDB类型
float 5
long raw 128
raw 128
char 129
long 129
varchar2 129
number 131
number 139
date 135可以看出MS oracle provider支持的类型很少,重要的是不支持UNICODE类型.而Oracle provider支持的类型就很全了.
oledb是oracle自己的东西,用起来放心的多,不过我以前用的时候无法向数据库中插入lob类型的值,不知道为什么,最保险的方法是使用OCI。