We have a 32 bit application for Windows Server 2003 32 bits with Oracle 10g 32 bits with most of its components written in Visual C++ 2005 (native, it is not .NET), it has been also certified for Windows Server 2003 64 Bits with Oracle 10g 32 bits without big trouble.
However when trying to certify it with Oracle 10g 64 bits we have had problems connecting to the database. Those problems seem related with the DataSourceNames in ODBC.
Here is one portion of my code in one of the Visual C++ 2005 components:
if( Check(SQLAllocEnv(&hEnv)) &&
Check(SQLAllocConnect(hEnv, &hDBC)) &&
Check(SQLDriverConnect(hDBC, NULL, (SQLCHAR*) "DSN=MyDataSource;APP=CheckBD;", SQL_NTS, NULL, NULL, NULL, SQL_DRIVER_NOPROMPT)) &&
Check(SQLAllocStmt(hDBC, &hStmt)) )
In some forums i found that for a 32 bits application it is necessary to install the client ODAC 32 bits so i did it.
In another question i found that in a 64 bits Windows Server there are two ODBCs, the one in Administrative Tools-Data Sources (ODBC) which is for 64 bits and the one in C:\WINDOWS\SysWOW64\odbcad32.exe which is the 32 bits, however in the last one i don't see the driver "Oracle in OraDb10g_home1" and i don't know how to add it, the ODAC installation didn't show an option for SYSWOW64.
I am very lost at this.
Thanks and regards,
When it runs it fails with the following error in the application event viewer:
The description for Event ID ( 0 ) in Source ( SampleService ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: MyApplication error: 9999,
Data source name not found and no default driver specified
I have already