title: python cx_Oracle Bind illegal variable name
body: <p>Trouble with bindind date in dictionary in the following statements??  </p>
  
  <pre><code>mySQL = 'SELECT day_key FROM timeday WHERE calendar_date =:calendar'
  args = {'calendar':'2016/10/16', 'giftcardnbr': '7777083049519090', 'giftcard_amt': '249.8'}
  
  cursor.execute(mySQL,args)
  </code></pre>
  
  <p>DatabaseError: ORA-01036: illegal variable name/number</p>
  
  <p><strong>Why does this syntax return a different error?</strong></p>
  
  <pre><code>cursor.execute('SELECT day_key FROM timeday WHERE calendar_date =:calendar',{'calendar':'2016/10/16'})
  </code></pre>
  
  <p>DatabaseError: ORA-01861: literal does not match format string</p>
  
  <p><strong>From mastering Oracle Python</strong></p>
  
  <pre><code>named_params = {'dept_id':50, 'sal':1000}
  query1 = cursor.execute('SELECT * FROM employees WHERE department_id=:dept_id AND salary&gt;:sal', named_params)
  </code></pre>
  
  <p>works fine??</p>
  
  <p>Thanks</p>