title: ORA-01008 with all variables bound
body: <p>I'm using <code>System.Data.OracleClient</code> which does parameter-binding by name and are verifying that CommandText and Parameters are in sync:</p>
  
  <pre><code>    public string CommandText { get; set; }
      public IEnumerable&lt;OracleParameter&gt; Parameters { get; set; }
  
      private void VerifyThatAllParametersAreBound()
      {
          var variableNames = Regex.Matches(CommandText, ":\\w+")
              .Cast&lt;Match&gt;().Select(m =&gt; m.Value).ToArray();
          var parameteterNames = Parameters.Select(p =&gt; p.ParameterName).ToArray();
  
          var unboundVariables = variableNames.Except(parameteterNames).ToArray();
          if (unboundVariables.Length &gt; 0)
          {
              throw new Exception("Variable in CommandText missing parameter: "
                  + string.Join(", ", unboundVariables) + ".");
          }
  
          var unboundParameters = parameteterNames.Except(variableNames).ToArray();
          if (unboundParameters.Length &gt; 0)
          {
              throw new Exception("Parameter that is not used in CommandText: "
                  + string.Join(", ", unboundParameters) + ".");
          }
      }
  </code></pre>
  
  <p>Still one query throws <code>ORA-01008: not all variables bound</code>. When manually inserting the parameter-values into the offending CommandText the query runs, so the CommandText and Parameters-values should be ok. I'm using : as prefix both for variables and parameternames and it's working for the other queries.</p>
  
  <p>How can I pinpoint the cause of this exception?</p>