遇到不支持的Oracle数据类型101

时间:2017-03-29 12:21:38

标签: c# .net oracle oracle11g

OracleDataAdapter oAdp = new OracleDataAdapter("select * from " + TABLE_NAME, SourceConnStr);
oAdp.Fill(dtTable);

执行此代码后,我收到错误:

Unsupported Oracle data type 101 encountered.

所以我搜索了相同内容,结果表明.NET目前不支持或识别二进制float / double以及它所指的表中的一列;是二进制双精度数据类型。请建议一种方法来确定表中的列是否为数据类型二进制float / double,并将其强制转换为适当的数字或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)  

2 个答案:

答案 0 :(得分:2)

您使用哪个OracleDataAdapter?我想它来自System.Data.OracleClient.OracleDataAdapter,如果您正在使用Oracle DB,请使用ODAC,Oracle.DataAccess.Client.OracleDataAdapter,它适用于oracle数据类型。

答案 1 :(得分:1)

  1. 识别结构:

    UITableViewController
  2. 的解决方法: 在select * from all_tab_columns where data_type like 'BINARY%' ; 中,使用例如数据转换替换列。 select

    TO_CHAR