freetds AT lists.ibiblio.org
Subject: FreeTDS Development Group
List archive
- From: Daniel Kasak <dkasak AT nusconsulting.com.au>
- To: freetds AT lists.ibiblio.org
- Subject: [freetds] MONEY fields
- Date: Thu, 29 Mar 2007 10:22:17 +1000
Greetings.
I've just hit a bug which I'm pretty sure I've encountered before. I even think I posted a message about it, but now I can't find it in the archives, so maybe I'm mistaken.
Anyway, it seems impossible to update MONEY fields in SQL Server 7 from FreeTDS. I'm using DBD::ODBC ==> UnixODBC ==> FreeTDS ( latest versions of each ). I'm using a statement with placeholders ( for ALL values I'm updating, including the 2 fields it's complaining about below ), and when I try to prepare() it, I get:
[unixODBC][FreeTDS][SQL Server]Statement(s) could not be prepared. (SQL-42000)
[unixODBC][FreeTDS][SQL Server]Disallowed implicit conversion from data type varchar to data type money, table 'NUSsql.dbo.Recommendations', column 'Estimate'. Use the CONVERT function to run this query. (SQL-42000)
[unixODBC][FreeTDS][SQL Server]Disallowed implicit conversion from data type varchar to data type money, table 'NUSsql.dbo.Recommendations', column 'ConfirmAmount'. Use the CONVERT function to run this query. (SQL-42000)(DBD: st_prepare/SQLPrepare err=-1) at /usr/lib/perl5/site_perl/5.8.8/Gtk2/Ex/DBI.pm line 1267.
I'm pretty sure last time I found this, I convered my fields to DECIMAL, and everything worked. But for completeness, it would be good if MONEY types were supported.
I can't ( easily ) use the convert function as suggested here, as I'm using a generic recordset handler to construct my SQL statements, and it doesn't know about SQL Server's field types and CONVERT requirements either. Admittedly, I could hack something into it which inspected SQL Server field types somehow and automatically wrapped stuff in CONVERT, but I'd prefer not to add such dodgy hacks unless I really have to. Is there a better way?
--
Daniel Kasak
IT Developer
NUS Consulting Group
Level 5, 77 Pacific Highway
North Sydney, NSW, Australia 2060
T: (+61) 2 9922-7676 / F: (+61) 2 9922 7989
email: dkasak AT nusconsulting.com.au
website: http://www.nusconsulting.com.au
-
[freetds] MONEY fields,
Daniel Kasak, 03/28/2007
- Re: [freetds] MONEY fields, James K. Lowden, 03/28/2007
Archive powered by MHonArc 2.6.24.