【问题标题】:Selecting the Default value of an oracle column in .Net在 .Net 中选择 oracle 列的默认值
【发布时间】:2011-07-28 08:18:58
【问题描述】:

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

select column_name,data_default from user_tab_columns where column_name='XXX'

【问题讨论】:

    标签: c# .net oracle


    【解决方案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 调用该函数,而不是直接执行查询。

    【讨论】:

    • 我需要一些可以在 sql 语句中工作的东西,因为我没有在该模式中创建函数的权限。
    【解决方案2】:

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

    试试这个

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

    InitialLONGFetchSize 限制了 LONG 类型字段的数据长度

    它对我有用;

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 2022-01-03
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多