Legacy Technology · Migrations
Pro*C Oracle upgrade and 64-bit porting
Database upgrades often stall on the Pro*C programs that talk to them. We rebuild your Pro*C against newer Oracle client releases, fix 32-bit assumptions, and port to Linux, with every output compared against the old system.
- UK contract with Dreams Technologies Hub Private Limited (VAT registered)
- Engineers delivered from our own Coimbatore office, India
- Shortlist within 5 working days
- Building software since 2013
Why Pro*C upgrades get stuck
A database team can upgrade Oracle in a weekend. The application team then finds that hundreds of Pro*C programs need rebuilding with a new precompiler and client libraries, that some still assume 32-bit sizes, and that nobody is sure what the batch outputs should look like. We take that work on.
What’s in scope
Every migration starts with a full inventory. On this kind of move, that means:
- Every Pro*C source file, makefile and precompiler option set.
- Oracle client version today and target (commonly 19c).
- 32-bit assumptions: long and pointer sizes, casts, printf formats, struct packing.
- Character set settings (NLS_LANG) and any move to AL32UTF8.
- Build and deployment scripts.
- Batch outputs that can be used as test baselines.
How we run the migration
- Inventory. Programs, options, libraries and which jobs run them.
- Baseline. Capture outputs from the current system for comparison.
- Rebuild. Precompile and compile against the new client, 64-bit, with warnings on.
- Fix. Size and type issues, deprecated options, changed behaviour.
- Compare. Run the same inputs on old and new; outputs must match byte for byte or with agreed differences.
- Release. Deploy in waves with rollback ready.
The problems we plan for
| What goes wrong | How we handle it |
|---|---|
| Code assumes long and pointers are 32 bits. | Static scan plus compiler warnings, then targeted fixes and tests. |
| Precompiler options changed between versions. | Options reviewed and standardised in the makefiles. |
| Host variable sizes and VARCHAR lengths overflow. | Declarations checked against table definitions. |
| Character set changes alter string lengths. | Byte versus character semantics reviewed; test data includes non-ASCII values. |
| Nobody knows the expected outputs. | Baselines captured before any change, so every difference is visible. |
What you receive
- Upgrade inventory and plan.
- Rebuilt, 64-bit Pro*C programs with standard makefiles.
- Comparison test results for every program in scope.
- Release runbook and rollback plan.
How it’s priced
We start with a fixed-fee assessment so the scope is clear. The migration itself is then quoted at a fixed price, with any optional work listed separately. If you prefer, we can supply specialists to work inside your own migration team instead.
Related services
Why teams come to us for scarce skills
Finding thin talent pools is our core skill
Large service firms rarely staff a single Pro*C or HP-UX role quickly. We keep a vetted network of engineers who have these skills and want this work.
Screened by people who have done the work
Our own senior engineers run the technical interview. Candidates are tested on the platform you run, not on general programming.
UK contract, India delivery
You contract with our UK company. The work is delivered from our own office in Coimbatore with working hours that overlap the UK day.
AI-assisted code understanding
Our team works with Claude Code to read, document and test old codebases faster. Every finding is checked by an engineer before it reaches you.
Continuity built in
Every engagement keeps a runbook and code notes from week one, and a second engineer is briefed on your system. Losing one person does not mean losing the knowledge.
We also run the migration
When you are ready to leave the platform, the same team that kept it running plans and delivers the move.
Tell us what you’re running
Send us the stack and the problem. We’ll reply within one working day and, if it’s a staffing request, send a shortlist within five.
FAQ
Frequently asked questions
Can you upgrade and port to Linux at the same time?
Yes, but we usually separate them into two steps so any difference in output has one cause. The assessment recommends the order.
Which Oracle versions?
Any supported source and target. 19c is the most common target we see.
How do you prove nothing changed?
By running the same inputs through old and new programs and comparing outputs automatically.
