This content has been marked as final. Show 14 replies
What is the error that you are receiving?
Do you have the path that the libraries are located in - in your FORMS_PATH? For example, if you are trying to compile these via Form Builder on a windows machine, and your libraries were in the C:\Work directory. You would need to open your registry, locate your FORMS_PATH, and add the C:\Work directory to the string.
The error says it cannot find functions/procedures that are defined in those attached libraries.
I'll check the FORMS_PATH and I'll get back to you as soon as possible.
I have changed the FORMS_PATH in regestry and restart forms builder, but no success. Continues to give same error. Do I have to restart the windows server? I ask this because I cannot do restart the machine..
Yes, but do you attach your libraries with a path or without a path?
I attached without because I want this form to be portable so I can move it to other environments (now stills on dev, but it has to go through test, qa, ...until production).
That should be correct. If you attached the libraries without a path, modified your FORMS_PATH to include the path that the libraries are sitting in, then the form should pick them up.
1. Verify that FORMS_PATH has the correct path. Make sure the '\' are pointing in the right direction and that the path is separated from the other paths by a semicolon.
2. Make sure you changed the correct FORMS_PATH. You might have multiple ORACLE_HOMEs so you need to make sure the ORACLE_HOME you are using is the one that has FORMS_PATH set up in it.
3. After FORMS_PATH is correct you shouldn't have to reattach the libraries, but try it again without including the path.
I read CraigBs reply below and it made me think of something else you might want to look at:
4. Check all the directories that are listed in your FORMS_PATH and see if there are older versions of the libraries in one of the paths that shouldn't be there and remove the unneccessary ones. For example, if your FORMS_PATH is set to "C:\Work\11g;C:\Oracle11g\Middleware\as_1\forms;C:\Oracle11g\Middleware\asinst_1\FormsComponent\forms;" then there are three directories that forms looks through everytime it runs. In this case, you would check all three directories and see if there were older libraries in there that needed to be removed because they are overwriting the one that you want to be picked up.
Edited by: MLBrown on Nov 28, 2012 7:37 AM
Have you recently upgraded your Forms version? If so, were your PL/SQL Libraries upgraded to Forms 10g?
The Forms Builder uses the Windows Registry to read the FORMS_PATH so it is important to ensure the Registry is updated correctly so the Forms Builder can find your .pll files. If you have multiple directories listed in your FORMS_PATH (which you should because you need to keep the default directories in the FORMS_PATH) make sure you seperate the directories using the correct punctuation ";" not ":".
It should not be necessary to reboot the computer as Registry changes are immediate. However, you would need to quite and restart the Forms Builder (as you have done).
I agree with MLBrown - you should double-check all of your settings to ensure you don't have any typographical errors.
Thank you all for you help.
I'll check those configuration as soon as possible (lot's of things in my hands now). I'll get back to you as soon as possible.
Sorry about the late response, but last days have been heavy in terms of work.
I have double checked the windows registry and I have the FORMS_PATH in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OH893831916. Is this the correct path for this variable? Under this folder there are other variables related to forms and to Oracle.
It's value is something like: "E:\xx\xxx\forms;E:\......" and I have re-checked the xx\xxx path and it does match to the correct one.
Is there any problem having the pll files under different disk? E:\ instead of C:\ where forms builder is?
It doesn't matter if the libraries are mapped to a different drive as long as you can access them from wherever you are executing form builder. As far as HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OH893831916 that is an Oracle Home, but is it the correct one? Do you have any other Oracle Homes in the HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE? If you do, do they have FORMS_PATH keys that you could add the E:\xx\xxx\forms;E:\.... to?
I think that I would put a copy of libraries in the first drives that is listed in your FORMS_PATH key just to see if form builder can then pick it up. So if your FORMS_PATH is:
Move the libraries to the C:\Work\11g folder (in this example) and see if form builder can then see it.
The path is accessible from the server. under HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE there are other Oracle Homes. i have created in all Oracle home a FORMS_PATH string variable with my pll library folder (E:\xx\xxx\forms) and restart forms builder. Still not working... :(
I have moved my pll path to the beginning of the FORMS_PATH and didn't solve the issue.
Almost giving up from this issue, because I'm spending to much time with it. Re-attach the libraries is anoying but it doesn't take that long..
It must be any other configuration in the server that I don't have access (I'm not the server admin). I'll try to find other server where this is working and compare the registry with this server.
...I have the FORMS_PATH in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OH893831916. Is this the correct path for this variable?OK, I need clarification. Are you using Forms 10g or Forms 11g? Your original post said Forms 10g.
Posted: Nov 27, 2012 1:08 PMI am builing forms using Oracle Forms 10g...>
If you are using Forms 10g, the Oracle Home in the Registry defaults to: *"KEY_DevSuiteHome??"* unless you changed the name of the home during installation.
Typically, the KEY_OH???????????? is indicitive of Oracle 11g installations - at least that is where I have seen this naming convention used.
If you are truly using Forms 10g, I suggest you check to see if you have a KEY_DevSuiteHome?? key and if you do, make your changes to the FORMS_PATH located in this registry key.
The alternative is to use a SYSTEM Environment variable instead. The downfall to using the System Environment variable is that the variable is visible to ALL Oracle products so if you have multiple versions of Oracle Forms installed - this will affect them as well.
For information on managing System Environment variables, see How To Manage Environment Variables in Windows XP.
Hope this helps.
Yes, you are right. The installation is 11g and not 10g as I state before. Sorry about that.
I have 3 KEY_OH???????????? keys in my registry and define FORMS_PATH e all of them. Did not solve the problem.
I already have tried to defined a user variable (not a system variable) and did not work.
You should only have the FORMS_PATH located in one key. Oracle's use of random numbers in the KEY name doesn't make it obvious which home is the correct one, but once you select the key, it should be obvious as there will be numerous String entries.
How are you seperating your directory entries and do you have the default value still listed in the string? Here is an example of mine:
FORMS_PATH = D:\Oracle\Middleware\Oracle_FRHome1\forms;D:\Oracle\Middleware\asinst_1\FormsComponent\forms;D:\MyDevelopment\Forms11g\Form_Libs;D:\MyDevelopment\Forms11g\Form_Menus;D:\MyDevelopment\Forms11g
Notice, that I add entries after the default (required) entries.
What is your OS?