Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
C# 在.Net中选择oracle列的默认值_C#_.net_Oracle - Fatal编程技术网

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

C# 在.Net中选择oracle列的默认值,c#,.net,oracle,C#,.net,Oracle,我正在尝试使用.Net从user_tab_列中提取oracle列默认值。 它的数据类型很长,当我使用IDataReader读取它时,会得到一个空字符串。我如何获取它的数据 从用户选项卡的列中选择列名称、数据默认值,其中列名称='XXX'长数据类型的使用有很多限制。解决此问题的一种方法是构建如下存储函数: CREATE OR REPLACE FUNCTION column_default ( p_table VARCHAR2 , p_column ) RETURN VARCHAR

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


从用户选项卡的列中选择列名称、数据默认值,其中列名称='XXX'

长数据类型的使用有很多限制。解决此问题的一种方法是构建如下存储函数:

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

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

试试这个

    OracleCommand dbCommand = new OracleCommand();
    dbCommand.InitialLONGFetchSize = 1000;
InitialLONGFetchSize限制长类型字段中的数据长度


它对我有用

我需要一些可以在sql语句中工作的内容,因为我没有在该架构中创建函数的权限。我将在再次找到时间后立即查看这些内容,感谢SUSE
dbCommand.InitialLONGFetchSize=-1
要读取整个列,而不考虑其大小,请参阅: