C# 如何在不读取任何行的情况下知道dataset/datatable是否包含CLOB数据
我有这个正在读取的数据表或数据集。如果数据包含clob数据,则必须更改文件名 但是我们首先创建文件,然后遇到clob数据。无论如何,我们都可以找到包含clob数据的datatable,然后创建文件C# 如何在不读取任何行的情况下知道dataset/datatable是否包含CLOB数据,c#,oracle,ado.net,odp.net,C#,Oracle,Ado.net,Odp.net,我有这个正在读取的数据表或数据集。如果数据包含clob数据,则必须更改文件名 但是我们首先创建文件,然后遇到clob数据。无论如何,我们都可以找到包含clob数据的datatable,然后创建文件 谢谢,使用DBMS\u LOB.GETLENGTH查看是否有超过0个字节。您在谈论哪个文件名?你能把你的问题精确地说出来吗?它似乎缺少一部分。应用程序从数据库表读取数据并写入csv。当数据库表包含clob数据时,文件名必须附加“\u clob”。但问题是clob数据是第三列,所以当我们读取第一行第一列
谢谢,使用DBMS\u LOB.GETLENGTH查看是否有超过0个字节。您在谈论哪个文件名?你能把你的问题精确地说出来吗?它似乎缺少一部分。应用程序从数据库表读取数据并写入csv。当数据库表包含clob数据时,文件名必须附加“\u clob”。但问题是clob数据是第三列,所以当我们读取第一行第一列时,我们会创建一个新文件。因为如果数据包含clob,那么文件名应该附加clob,这是我们不能做的,因为文件已经创建并填充了数据。实际上我正在使用OracleDataReader。在将数据写入文件之前,是否有任何方法可以清楚地知道数据中包含clob,以便使用正确的文件名。您可以在开始之前查询数据字典,
ALL_TAB_COLUMNS
,以检查表中的任何clob列?或者,您可以在遇到clob列时设置一个标志,如果设置了标志,则在完成写入后有条件地重命名该文件。。。