Oracle forms 6i - oracle

Complete Oracle n00b here. I have to maintain a legacy form that was developed using Oracle forms 6i and runs on an Oracle 8i backend. Is there any location on the web from where I can still download Oracle forms 6i? If not then whats the best way to run this form on a newer version of oracle?

You won't get Forms 6i free on the web (at least not legally). If you have a current support contract with Oracle, they would be able to supply the base install and patchsets. Don't expect it to work with Windows Vista or 7 though. XP should be okay.
I have heard of Forms 6i working against even 11g databases, though there are character set restrictions.
There is an upgrade path from Forms 6i to the later versions of Forms, which all require the use of an App Server model (rather than the client server model of earlier Forms versions). Forms 6i had the option of either client/server mode or app server mode.

There is a link for download on OTN. Though haven't tried it. (It requires registration )
Regarding new versions, I'm developing in Forms 6i on Windows 7 (x86) and Oracle 11g R2 with no problems for 6 months.
If you want to upgrade to Forms 9 or newer, then you'll have to also install Application Server because it is on 3-tier architecture (client - app server - server) instead of 2-tier on 6i (client - server).
I've transformed one simple but real-world form from 6i to Forms 10 within about hour. So, it's definitely possible. But it was just to check how hard it is and I'm not using that (Forms 10) form, so there could be some issues.

Related

Oracle Forms 10.1.2 run in EDGE/CHROME

Like we all know Internet Explorer will retire in 2022. I have an app in Oracle Forms 10.1.2. In future I'm planning to rewrite the app for other technology. However, it must be available during this process.
Is there a possibility to run Oracle Forms in this version on MS EDGE or CHROME?
We've got number of old Oracle Forms applications. Yes, they run with MS Internet Explorer & JInitiator.
Google Chrome offers extension that - as they say - enables you to run Forms in Chrome. Have a look at ThinForms Enterprise:
The ThinForms Enterprise Chrome Extension allows you to run Oracle Forms and Oracle EBS Applets & Applications, as well as Oracle Discoverer directly from Google Chrome on Windows, OSX and Linux, or from Microsoft Edge (Chromium).

Oracle forms 10g developer suite

I want to deploy the Oracle forms.
I have installed Oracle forms 10g Developer site and created forms.
Now, what i need to install to deploy it and use over web
And how to deploy forms.
There is a lot to do, You'd need to install oracle on a server machine, and all related services in order to run forms, please find a full guide here:
Fusion Middleware Installation Guide for Oracle Forms and Reports
Good luck.

Oracle Forms 11g compilation errors

I was recently required to take over a project which was built on Oracle Forms 11g.
I checked out the source code and tried to compile fmb files, but I received a large number of comile errors, below are some typical errors for examples
identifier 'TO_MESSAGES.MODULE' must be declared
identifiter 'TO_MESSAGES.MESSAGE' must be declared
Oralce developer in my company suggest these errors maybe related into incorrect Oracle Forms installation and some missing core libraries. I tried to re-install all required software, but the errors are still there. I am new to Oracle Forms development, could anyone point me to right direction ?
Here is information about my local environment and tools
Windows 7 Enterprise 64 -bit
Oracle Portal, Forms, Reports and Discoverer 11g (11.1.1.2.0) for Microsoft Windows x86 (64-bit)
Oracle Portal, Forms, Reports and Discoverer 11g Patch Set 3 (11.1.1.4.0) for Microsoft Windows x86 (64-bit)
Oracle Form Builder 11.2.0.4.0
Java version "1.6.0_45"
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0
By looking the above errors it does not seems to related to Oracle forms installation. I think these are functions and procedures which have been declared in plsql libraries created by developers and these libraries are not attached to the form.
Check for the .pll files in your source code and try to attach to the form and compile after that and then it should be compiled.

ODP .Net 12 using OraClient11

I know that the request may look somehow weird but I am trying to develop a .Net application using EF and Visual Studio 2010 against a ORACLE 10g DB.
Initially I tried with EF4 which is the embedded one in VS2010 and with ODP11 I am able to make it work. But due to some specific bugs in EF4 (StoreGeneratedPattern bug) I want to go to EF5 or EF6.
While "googleing" a bit I was able to Install EF6 using the nugets and adding the context generator for EF using the following explanation:
https://msdn.microsoft.com/en-us/data/jj206878.aspx
The problem here is that the system is not able to find a proper ODP provider for Entity Framework as I only have ODP11 installed.
Again after investigating a bit :) I saw I need ODP12 which will have full support to EF. My problem here is that all servers will be working with OraClient 11g against a Ora10g DB... I know there is no major problem (at least for the use I need) to use Ora11Client with a Ora10Server but what about ODP? I cannot change the Oracle client and I am wondering whether I can face any issue by having my application developed with ODP12 and being executed in a machine with Ora11g Client.
Is anyone having some advice on this?
Thanks a lot in advance!!
It's my understanding that the managed driver for 12 (Oracle.ManagedDataAccess and Oracle.ManagedDataAccess.EntityFramework available on NuGet) will connect to 10.2 and above and does not require ANY client installed on the computer as it contains the client it needs. It just gets installed in the app's bin directory. Be aware though that it doesn't seem to currently work with .NET 4.0 in case you're still targeting that. The 4.0 version of Oracle.ManagedDataAccess.EntityFramework shows up on NuGet as a beta version and is actually compiled against .NET 4.5.
ODP.NET 12.x has a dependency on the Oracle 12 client software so you cannot use it with the 11 client stack. You can use ODP.NET 12 to connect to databases going back to version 10.2.
You can embed the ODP.NET, unmanaged client stack in your app by using the Xcopy download, or you could use the ODP.NET, Managed Driver which is just one DLL and less than 10 MB in size.
Oracle has the concept of an "Oracle Home" (subdirectories) to allow multiple versions of software to run side by side. So that version 11 Client on your servers can exist alongside with the version 12 software you deploy there.

Is ODP.NET required for Oracle 11g Client?

I may be asking the wrong question here, I'm willing to change it if so.
I have a project that is using the Microsoft.NET Oracle provider (our plan is to change to ODP but we haven't done so yet).
I am trying to get this project to build on a windows 2008 (x64) build server. It builds just fine but our unit tests fail when they hit stuff on the Oracle database.
I had initially installed the 32bit oracle 9i client which is what we currently use on our winxp dev boxes and the previous 2003 build server. But now this gets a message like: Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.
We tried compiling to the x86 platform but that didn't change the error message.
I now have the 11g 64 bit client installed but I am getting a message saying System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.
So what Oracle install should I be using?
Edit:
I was able to get this to work. Turned out it was the testing causing the problem, by forcing NUnit to run in 32bit mode: Link I was able to get the tests to work using the old 32 bit driver. This would be a crappy answer to the question so I am not using it but will gladly award the correct answer to anyone putting in some good info on transitioning to Oracle 64bit drivers.
When it comes to Oracle, I like to use Oracle Instant Client :
You don't have to install anything on the target machines (including dev boxes !).
You can make sure that your application will run with the specific client you picked.
You could even easily have multiple applications work with different client versions on the same computer.
As a downside, it adds a significant weight to your application (~19Mb minimum).
Check What is the minimum client footprint required to connect C# to an Oracle database? for more information. To know how to set up a Visual Studio project that will work on x86 as well as x64 machines, check my blog post Oracle Instant Client in Visual Studio.
I'm adding a new answer since as of this fall (2012) the ODP Managed Code Beta is available. See this link for more information. It is for us highly stable and we are using it in production, mainly because of these reasons:
No installation (except for entity framework where a simple registration is needed)
It is smaller than the unmanaged version, the footprint is approx 6 MB.
It is NOT "bit sensitive", ie Any CPU will finally work with ODP :)
More intuitive mapping C# types <-> Oracle types (and it solved some problems with EF and model generation from database)
Supports EZCONNECT (all versions of the unmanaged ODP did not), ie no more tnsnames.ora hassles.
But for transitioning to 64 bit, download the managed ODP driver and change the Oracle.DataAccess reference to Oracle.ManagedDataAccess and recompile :)
I think the message "System.Data.OracleClient requires Oracle client software version 8.1.7 or greater" it's similar to "Oracle client not installed, installed but not found or installed but it's needed 8.1.7 or greater".
Check on regedit if the values are right under the key:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraOdac11g_home1
Where OraOdac11g_home1 depends on the Oracle Home name for your installation.
Also, try to connect through Visual Studio to see if its possible.
I have had an issue which could relate to what you are seeing.
I initially had the just the Oracle 10g client installed on my machine and the .Net Oracle.DataAccess component version number was 10.2.0.100 - this was for .Net runtime v1.0.3705
I installed ODP.Net and the Oracle.DataAccess component version is now v2.102.2.20 and runs on .Net runtime v2.0.50727 - I cant find the reference as to why Oracle did this - it was something to do with bringing version numbers in line with the runtime version
It took me a day to work this out. We dont use the 11g client yet and I havent used the 8i client for ages so I dont know what the version numbers would be for those clients, but I'd check it if I were you what.
In short, Oracle back-tracked the component version numbers which could be making your 11g component appear out-of-date as opposed to Oracle 8i components
I have found many times that the error "requires Oracle client software version 8.1.7 or greater" is a notoriously misleading error. From distant memory I seem to remember that this usually indicates a file IO permissions problem. I think it may be that the ASP.NET worker process (or whichever identity an application is running under) requires some sort of read or write permission to a folder in the oracle client folder hierarchy...
This can be a cause of multiple oracle homes in the environment. Remove the older version oracle home in your build system. try generating the build again with the single home. There are some issues with 9i version ODP.NET and 10G/11G connectivity

Resources