In DBI, the : introduces a named parameter into the SQL. The convention in the ODBC world is ? introduces a parameter but as DBI dictates :my_param is also valid DBD::ODBC has to parse the SQL to check for named parameters. If you create SQL containing an unquoted : it looks like a parameter. In your first example this is exactly what you did and because it was 00:00:00 it looks like you have 2 named parameters called "00". DBD::ODBC does not support binding the same named parameter more than once (Using the same placeholder more than once) and hence the message you got.

If you absolutely have to include a string in your SQL instead of using a parameter marker (?) and binding the parameter you need to quote it and DBI has a quote method for just that (don't just use single quotes as it can differ between SQL engines).

You can stop DBD::ODBC looking for named parameters by setting odbc_ignore_named_placeholders. In fact, I only wish the default could be this as it wastes time parsing the SQL if you are not using named parameters but DBI says it has to support them.


In reply to Re^3: DBD::ODBC not support by mje
in thread DBD::ODBC not support by Bheema_Tyco

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.