【发布时间】:2017-08-22 22:23:51
【问题描述】:
OracleDataAdapter oAdp = new OracleDataAdapter("select * from " + TABLE_NAME, SourceConnStr);
oAdp.Fill(dtTable);
执行此代码时出现错误:
Unsupported Oracle data type 101 encountered.
所以我进行了大致相同的搜索,结果发现 .NET 目前不支持或识别二进制浮点/双精度以及它所指的表中的列之一;是二进制双精度数据类型。请提出一种方法来识别表的列是否属于二进制浮点/双精度数据类型,并将其转换为合适的数字或 varchar 等不同的数据类型。
Name Null Type
-------------- -------- -------------
EMPID NOT NULL VARCHAR2(20)
EMPNAME NOT NULL VARCHAR2(50)
EMPTYPE NOT NULL NUMBER(38)
EMPPHOTO BINARY_DOUBLE
DATEOFJOINING DATE
CONTACTNO VARCHAR2(20)
【问题讨论】:
-
显示表结构
-
@MuhammadMuazzam 我刚刚编辑了问题希望对您有所帮助
-
您使用的是哪个 DataAcces 库? System.Data.OracleClient 或 Oracle.DataAccess.Client 或 Oracle.ManagedDataAccess.Client ?
-
@Arie System.Data.OracleClient
-
System.Data.OracleClient 已弃用。由于 BINARY_DOUBLE 和 BINARY_FLOAT 是在 Oracle 数据库 10g 中添加的,因此它可能不受支持。