Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Windows Locale Identifier not respected in provider

390015Mar 13 2003 — edited Mar 17 2003
I have a problem I'm trying to figure out...

OS Setup:
User is using an English OS (Windows 2000, XP, etc.) but has his Regional Settings set to use German Input Locale and Location.

Developer Setup:
Application developed in Delphi 5 Enterprise, using ADO to connect to Oracle 8i server with the Oracle Provider for OLEDB, and using MAPI to create/send emails directly from application.

The Problem:
Enter a floating value in one of the float fields in a grid or DBEdit control, such as 1,234 (which is 1.234 in English), save data. Re-open data, value is 1,234. Fine. Now create an email via my app using MAPI, now notice the float fields in the grid or DBEdit control is now 1 instead of 1,234. If I look at the data via SQLPlus or other app, the data is fine. If I close my app and re-open it, the data looks OK again. A simple close connection and re-open connection does not work.

This does not happen if I use the Microsoft Provider for Oracle or use ODBC drivers, only the Oracle Provider for OLEDB. I've even updated the drivers to 8.1.7.3 but the problem still persists.

Properties for MS Provider for Oracle shows me it's using Locale Identifier of 1031 (German), as well as the ODBC drivers. However, Oracle Provider for OLEDB is set at 1033 (English) and I see no way to make this provider use 1031. If I specify "Locale Identifier=1031" in the connection string, it gets set back to 1033.

Has anyone found out a solution to this problem?

Thanks,
Jon.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 14 2003
Added on Mar 13 2003
3 comments
1,367 views