Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Oracle XE+ODP.NET恼人的视图错误_Vb.net_Oracle_Odp.net_Ora 01722 - Fatal编程技术网

Vb.net Oracle XE+ODP.NET恼人的视图错误

Vb.net Oracle XE+ODP.NET恼人的视图错误,vb.net,oracle,odp.net,ora-01722,Vb.net,Oracle,Odp.net,Ora 01722,各位,以下是我的观点: CREATE OR REPLACE VIEW SISTEMA.VWTELA AS SELECT TEL_DLTELA AS Tela, TEL_DLDESCRICAO As Descricao, TEL_DLTABELA As Tabela, CASE WHEN to_char(TEL_STATIVO) = to_char(1) THEN to_char('Yes') ELSE to_char('No') END as Ativo, TEL_ID

各位,以下是我的观点:

CREATE OR REPLACE VIEW SISTEMA.VWTELA AS
SELECT
TEL_DLTELA AS Tela,
TEL_DLDESCRICAO As Descricao,
TEL_DLTABELA As Tabela,
CASE WHEN to_char(TEL_STATIVO) = to_char(1) THEN 
  to_char('Yes')
  ELSE
    to_char('No')
    END as Ativo,
TEL_IDTELA AS IDTEL
FROM SISTEMA.TEL_TELA;
当我从SISTEMA.VWTELA执行SELECT*时,它在PL/SQL Developer中运行良好,但当我从VB.NET应用程序启动查询时,它抛出了一个非常恼人的错误ORA-01722

有什么想法吗?应用程序代码可以完美地处理任何查询,因此它不是应用程序代码错误,而是来自ODP.NET的一些超级酷的特性

已经尝试过编号,无论发生什么,都会发生相同的错误。

替换

CASE WHEN to_char(TEL_STATIVO) = to_char(1) THEN 
  to_char('Yes')
  ELSE
    to_char('No')
    END as Ativo,


ODP.NET现在可以识别此视图。

“是”和“否”已经是字符串,因此不需要进行TO_CHAR转换。在这种情况下,当客户不处理异常时,这是很烦人的,但有时他们的期望值太高,不适合人类犯错。
to_char(CASE WHEN to_char(TEL_STATIVO) = to_char(1) THEN 
  'Yes'
  ELSE
    'No'
    END) as Ativo,