RE: Problem with DBD::Sybase using Sybase IQ
"Raju, Ramakrishna (Equity)" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <B5CB9A4688F55241BAD64A7973E2520C044384E1@mlnya207mb.amrs.win.ml.com> |
Joe,
You should be using the bind_param() to specify the type of the parameter, like
$stmt->bind_param( 1, "jc", SQL_VARCHAR );
$stmt->bind_param( 2, "2005-02-28", SQL_DATETIME );
...
...
and then,
$stmt->execute();
At the top, instead of "use DBI;" , say "use DBI qw(:sql_types);" . This should import the sql types into your .pl .
Ram
[Raju, Ramakrishna (Equity)] -----Original Message-----
From: [email protected] [mailto:[email protected]]On Behalf Of Cumming, Joe
Sent: Wednesday, March 23, 2005 9:17 AM
To: [email protected]
Subject: Problem with DBD::Sybase using Sybase IQ
Hello,
I have a problem running execute() in DBD::Sybase when it has bind parameters.
The following code
my $sqlstmt =<<'EOST';
INSERT INTO creditqr.Tenor (MartModifiedID, MartSnapDate, ShortName, Tenor, TenorID)
VALUES (?,?,?,?,?);
EOST
my $stmt = $dbi->prepare($sqlstmt);
my @values = ('jc', "2005-02-28", "Test", 100, 500);
$stmt->execute(@values);
Produces the error:
DBD::Sybase::st execute failed: Server message number=21 severity=14 state=0 line=0 text=ASA Error -1000187: Unable to implicitly convert column 'MartModifiedID' to datatype (varchar) from datatype (integer).
* (db_sqlins.cxx 10136) at dbitst.pl line 16.
However, the code
my $sqlstmt =<<'EOST';
INSERT INTO creditqr.Tenor (MartModifiedID, MartSnapDate, ShortName, Tenor, TenorID)
VALUES = ('jc', "2005-02-28", "Test", 100, 500);
EOST
my $stmt = $dbi->prepare($sqlstmt);
$stmt->execute();
works fine.
Has anyone come across anything similar and know of a fix?
Thanks,
Joe
--------------------------------------------------------
If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail. http://www.ml.com/email_terms/
--------------------------------------------------------