title: Oracle client requires parentheses around column names?
body: <p>I was recently asked to migrate our MSSQL database to an Oracle one.</p>
  
  <p>I'm using the old-traditional way to execute sql queries.</p>
  
  <p>for some reason, unknown to me, Oracle requires me to put parentheses around column names (why?)
  Is there a workaround for this?</p>
  
  <p>The following code will fail because of the parentheses (used to work well under MSSQL)</p>
  
  <pre><code>using (var msq = new OracleConnection(sConnectionString))
  {
      msq.Open();
      OracleCommand msc = msq.CreateCommand();
      msc.CommandText = @"SELECT level_1,element_id FROM tnuot_menu_tree 
                         WHERE level_1 IN 
                             (SELECT mt.level_1 FROM tnuot_menu_tree mt 
                                 WHERE mt.element_id IN
                                 (SELECT element_tree_id FROM tnuot_menu_elements 
                                  WHERE UPPER(element_link) LIKE :url)) 
                         AND level_2 = 0 AND level_3 = 0";
  
      msc.Parameters.Add("url", SqlDbType.VarChar);
      msc.Parameters["url"].Value = "%" + sName.ToUpper();
      OracleDataReader mrdr = msc.ExecuteReader();
  
      while (mrdr.Read())
      {
          sResult.arDirectResult.Add(mrdr[0].ToString());
          sResult.arDirectResult.Add(mrdr[1].ToString());
          break;
      }
  
      msc.Dispose();
      mrdr.Dispose();
      msq.Close();
  }
  </code></pre>
  
  <p>Instead, in the VS server explorer, the last query gets 'translated' to</p>
  
  <pre><code>SELECT "level_1", "element_id"
  FROM "tnuot_menu_tree"
  WHERE ("level_1" IN
      (SELECT "level_1" FROM "tnuot_menu_tree" mt
       WHERE ("element_id" IN
           (SELECT "element_tree_id" FROM "tnuot_menu_elements"
            WHERE (UPPER("element_link") LIKE '%DEFAULT.ASPX'))))) 
  AND ("level_2" = 0) AND ("level_3" = 0)
  </code></pre>
  
  <p>Which works well.</p>
  
  <p>Any ideas on how to get rid of this nasty task?</p>