在.Net中选择oracle列的默认值

时间:2010-09-13 09:26:09

标签: c# .net oracle

我正在尝试使用.Net从user_tab_columns中提取oracle列的默认值。 它的数据类型很长,当我使用IDataReader读取它时,我得到一个空字符串。我如何获得它的数据?

从user_tab_columns中选择column_name,data_default,其中column_name ='XXX'

2 个答案:

答案 0 :(得分:2)

如果您使用的是ODP.NET驱动程序

试试这个

    OracleCommand dbCommand = new OracleCommand();
    dbCommand.InitialLONGFetchSize = 1000;

InitialLONGFetchSize限制LONG类型字段中的数据len

它对我有用;

答案 1 :(得分:1)

LONG数据类型对其用法有很多限制。解决它的一种方法是构建一个这样的存储函数:

CREATE OR REPLACE FUNCTION column_default
   ( p_table VARCHAR2
   , p_column
   ) RETURN VARCHAR2
IS
    l_retval LONG;
BEGIN
    SELECT data_default
    INTO   l_retval
    FROM   user_tab_columns
    WHERE  table_name = p_table
    AND    column_name = p_column;

    RETURN l_retval;
END;

现在从.Net调用该函数,而不是直接执行查询。