Page 1 of 1

Oci functions is not linked again

Posted: Mon 17 Mar 2008 06:11
by Phantom666
I migrated from odac 5.55 to odac 6.25 and get this message when distributed my application on clients machines.
My C++ application send pointer on OraSession component in other dll's.
In main application is not work query parameters and dll's show me "Oci functions is not linked again".

What's wrong? Help me please!

Posted: Mon 17 Mar 2008 08:12
by Plash
If you build your main application and DLLs without ODAC runtime packages, you need to call InitOCI procedure from OraCall unit (or InitNet from OraNet unit for connection in Direct mode) in the DLL before using ODAC.

If you build your main application and DLLs with ODAC runtime packages, it is not required to call InitOCI.

Posted: Mon 17 Mar 2008 09:02
by Phantom666
Plash wrote:If you build your main application and DLLs without ODAC runtime packages, you need to call InitOCI procedure from OraCall unit (or InitNet from OraNet unit for connection in Direct mode) in the DLL before using ODAC.

If you build your main application and DLLs with ODAC runtime packages, it is not required to call InitOCI.
I built my main application and DLLs with ODAC runtime packages and distributed their together. But it's not work.
And why in main application is not work next code:
Query->ParamByName("rUserID")->DataType = ftInteger;
Query->ParamByName("rUserID")->Value = uid; // uid =631
ShowMessage(IntToStr(Query->ParamByName("rUserID")->Value)); // Query->ParamByName("rUserID")->Value = 7428374682 - it's wrong :(

Posted: Tue 18 Mar 2008 08:51
by Plash
We could not reproduce the problem. Please send to odac*crlab*com a complete small sample that demonstrates the problem, including the script for creating database objects.