Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: DBD::ODBC not support

by Bheema_Tyco (Novice)
on May 12, 2010 at 07:13 UTC ( #839542=note: print w/replies, xml ) Need Help??

in reply to Re: DBD::ODBC not support
in thread DBD::ODBC not support

Hi iskegami i had made the changes wat you have told

but its giving error like this

Revision : 1 Wed May 12 12:32:13 2010 DBD::ODBC::st execute failed: MicrosoftODBC SQL Server DriverInvalid character value for cast specification (SQL-22018) at D:\Bheema\ line 997.


Replies are listed 'Best First'.
Re^3: DBD::ODBC not support
by ikegami (Patriarch) on May 12, 2010 at 13:53 UTC
    I haven't done much SQL, and I haven't dealt with passing dates. Perhaps you need to specify the type of the argument.
    use DBI qw( :sql_types ); my $sth = $dbh->prepare(' ... '); $sth->bind_param(1, $_[1]); $sth->bind_param(2, $hdr_tran_seq_nbr); $sth->bind_param(3, $loader_start_time, SQL_DATETIME); $sth->bind_param(4, $loader_start_time, SQL_DATETIME); $sth->bind_param(5, $loader_start_time, SQL_DATETIME); $sth->bind_param(6, $master_job_no); $sth->bind_param(7, $_[0]); $sth->execute();

      The best way to pass datetimes to SQLServer via ODBC is using the ODBC syntax:

      $sth->bind_param($param_n, q/{ts '1998-05-11 00:00:00'}/);

      In your case you have an additional problem since the datetime parameters occur in a function so some MS SQL Server versions will be unable to describe the parameter correctly. As a result, if the parameter occurs in a function you might have to do the following to be sure it works:

      $sth->bind_param($param_n, q/{ts '1998-05-11 00:00:00'}/, SQL_VARCHAR) +;

      See ODBC Datetime Format.

      I could go in to why using SQL_DATETIME is not a good idea but it would be rather lengthy. Perhaps I should write a FAQ on this for DBD::ODBC.

Re^3: DBD::ODBC not support
by mje (Curate) on May 12, 2010 at 10:09 UTC

    Can we see the SQL you are running now, the way you've bound the parameters and the values of the parameters?

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://839542]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2023-06-01 22:33 GMT
Find Nodes?
    Voting Booth?

    No recent polls found