C# 在.Net中选择oracle列的默认值
我正在尝试使用.Net从user_tab_列中提取oracle列默认值。 它的数据类型很长,当我使用IDataReader读取它时,会得到一个空字符串。我如何获取它的数据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
从用户选项卡的列中选择列名称、数据默认值,其中列名称='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
要读取整个列,而不考虑其大小,请参阅: