0

我收到以下错误:

ORA-00911: XDocument 文档中的无效字符= Document.Load(crtCommand.ExecuteScalar().ToString());*

使用此代码:

 using (OracleConnection conn1 = new OracleConnection(oradb1))
 {
     conn1.Open();

     using (OracleCommand crtCommand
         = new OracleCommand("SELECT dbms_metadata.get_sxml('VIEW','VIEW_TBL_A') FROM dual;", conn1))
     {
         XDocument doc = XDocument.Load(crtCommand.ExecuteScalar().ToString());
         XNamespace ns = "http://xmlns.oracle.com/ku";

         if (doc.Descendants(ns + "COL_LIST_ITEM").Any(c => c.Attributes().Any()))
             MessageBox.Show("COL_LIST has value");
         else 
             MessageBox.Show("COL_LIST has no value");
     }
 }
4

1 回答 1

4

去掉结尾的分号。

using (OracleCommand crtCommand = new OracleCommand(
    "SELECT dbms_metadata.get_sxml('VIEW','VIEW_TBL_A') FROM dual", conn1))

Oracle 不喜欢在传递单个语句以立即执行时使用语句分隔符。

于 2013-08-08T01:48:57.860 回答