I have a source third party system that uses a Firebird database. You can setup a Windows service of this third party system to write data into a sql server database. Recently I get these exceptions:
00:00:40 CallProcessor.exe##Error##22##[The conversion of a varchar data type to a datetime data type resulted in an out-of-range value@006D5C65] @ :TMSSQLAccess.ExecuteQuery - exception running query : ##Threadid:12576##
The reason must be that my database language is not correct - I think. This is my current setting:
select @@language
British
Looking at Firebird's text data, I can see entries like this (I have written a C# client to parse firebird's raw data):
31/08/2011 16:58:00
This looks correct to me (British format). However, if I do:
select getdate()
I get:
2016-02-18 08:18:27.477
So I am a bit confused about what to do. Please note that I cannot touch the server (i.e. change its language/time zone/date format). However, I have full control of the SQL Server.
PS:
I just traced an insert statement it looks like this:
insert into calls ( site, calldateandtime, initial, calltype, callfrom, callto, ring, talk, phone, account, costcurrency, costregion, reason, special, extras, provoiceid, callid, agentid, talkgroup, cost, sourcedate)values ( 1, '02/18/16 09:11:24', 'Y', 2, '102', '4387', 9, 81, '07841269657', '{8D65BD48-5114-4', '£', 4, 0, 1234, '', '', '{522DBFD9-52D9-437A-B254-9498A92A854D}', '{8D65B', '', 0.00, '02/18/16 00:00:00')
go
SET NO_BROWSETABLE ON
go
SELECT SCOPE_IDENTITY() AS newID
go