[freetds] Problem with smalldates in SP
Carlo Andreoli
vespito at vespito.com
Thu Sep 29 21:39:58 EDT 2005
Hello,
I run Freetds from FreeBSD. I connect to SQL Server with
carlo at qs414% /usr/local/bin/odbctest "DSN=bla;UID=bla;PWD=bla"
and I type the following stored procedure, that used to rule:
SQL>execute SpInsertDaCda 0, 11, 142, 'chas', 'chas',
'1990-05-12','british', 'm', '2005-08-12', '2005-09-30', 0, 6,0,0,2,0,'',0,0
I get:
[FreeTDS][SQL Server]The conversion of char data type to smalldatetime data
type resulted in an out-of-range smalldatetime value., SQLSTATE=22007
[FreeTDS][SQL Server]The statement has been terminated., SQLSTATE=01000
[FreeTDS][SQL Server]Cannot insert the value NULL into column 'idUtente',
table 'SYSMA4.dbo.autorizzazioni'; column does not allow nulls. INSERT
fails., SQLSTATE=23000
[FreeTDS][SQL Server]The statement has been terminated., SQLSTATE=01000
Unfortunately, I don't control the stored procedure, but I've been told that
it has not been modified since when it worked for me. Moreover, I've been
told that the same sp works fine from asp pages.
So, it looks like there's some problem with the dates. I tried other formats
(dd-mm-yyyy, dd/mm/yyyy, yyyymmdd...), but I get the same error.
In the sp, all three dates are defined as varchar(20) and then casted to
smalldatetime.
I tried this:
SQL>select cast('2005-09-12' as smalldatetime)
and it works fine, since I get: result set 1 returned 1 rows.
So, could anybody tell me what the problem could be or what I could do to
debug?
Thank you in advance for any help.
Regards;
Carlo.
More information about the FreeTDS
mailing list