Archives of the TeradataForum
Message Posted: Fri, 29 Sep 2006 @ 11:28:43 GMT
<-- Anonymously Posted: Friday, September 29, 2006 06:18 -->
We have a problem with the OLE DB driver for Teradata (v1.04.00.01).
Although we're based in a Scandinavian country our Teradata Server is configured to use '.' as decimal point and ',' for digit grouping (the English standard, Radix separator = '.' , Group separator = ',') This seems to be a sensible choice since we have users in both English and non- English countries. (Non-English countries often use these two symbols the other way around. E.g. 1.234.567,12 instead of 1,234,567.12)
Our users PCs can have both English and non-English settings in "Regional Settings" in Windows.
When we connect via ODBC everything works fine as long as we don't select the "Use Regional Settings for Decimal" option.
But when we try to use OLE DB we have problems with DECIMAL(X,Y) fields. Our non-English users can't read decimal values if there is a fraction part in the number. (5.00 is ok, 5.01 is not.) We get this error:
"The data value could not be converted for reasons other than sign mismatch or data overflow. For example, the data was corrupted in the data store but the row was still retrievable."
Changing the Regional Settings in Windows to English solves the problem, but then all other programs running on that client changes behavior.
Is there a way to tell the OLD DB driver NOT to use the regional settings to control the communication with Teradata? (As for ODBC.)
If not, this behavior actually makes the OLE DB driver useless for companies having branch offices in many different countries.
(I've tried to add "Locale Identifier=xxxx;" in the connection string. Using many different values. No luck.)
I hope this is solvable! Please help!
|Copyright 2016 - All Rights Reserved|
|Last Modified: 23 Jun 2019|