我正在尝试使用.Net从user_tab_columns中提取oracle列的默认值。 它的数据类型很长,当我使用IDataReader读取它时,我得到一个空字符串。我如何获得它的数据?
从user_tab_columns中选择column_name,data_default,其中column_name ='XXX'
答案 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调用该函数,而不是直接执行查询。