SQLing Runner
Oracle Forms in the browser. No Forms Server.
SQLing Runner reads .fmb, .mmb,
.pll and .rdf files directly and runs the
application they describe — triggers, menus, LOVs, record groups,
master-detail blocks, the logon dialog, CALL_FORM chains —
against SQLite, DuckDB, Postgres or MariaDB. The runtime is a service on your server.
There is no Forms Services, no WebLogic, no Java bridge, no
frmweb.
Two deployment shapes
-
Server-hosted
SQLing Runner installs as a service on your server, points at a folder of
.fmbfiles, and talks to Postgres. The browser is the client UI — triggers, alerts, LOVs, the logon dialog all round-trip through HTTP. Shape of the live demo at sqling.com/pro/formtester/. -
Browser-only
The same runtime, loaded into the browser tab. The forms, the database, and the PL/SQL interpreter all live in the tab — nothing uploaded, nothing kept. Shape of the live demo at sqling.com/pro/formtester-local/. The right fit for showing a form to an auditor without handing them the
.fmb.
What it runs
-
Modules you already have
.fmbforms (6i → 12c),.mmbmenus,.pllattached libraries,.rdfreports. Source form, not.fmx— read directly from the binary, no Oracle tool in the pipeline. -
Trigger and block semantics
PRE-FORM/WHEN-NEW-FORM-INSTANCE/WHEN-VALIDATE-ITEMand the rest of the lifecycle; navigable items, auto-skip, required and format mask;CALL_FORM/OPEN_FORM/NEW_FORMwith parameter lists; master-detail coordination. -
The Forms supplied packages
MESSAGEwith theACKNOWLEDGEelevation,SHOW_ALERT,LOGONdialog,SET_ITEM_PROPERTYfor every documented shape,GET_APPLICATION_PROPERTY, record-group population from a query, SQL*Plus-styleSPOOLandSET SQLFORMAT, and theTEXT_IO/CLIENT_TEXT_IOfamily sandboxed under a per-session scratch directory withCREATE DIRECTORYaware access control.
What is honestly not there yet
Testing on real Forms applications continues. The runtime covers the shapes we have seen in real Forms corpora; a form that reaches for something unusual will surface the gap and we will close it. The pieces that are deliberately absent — not planned until a customer asks:
- WebUtil's Java-side features: file transfer, native OLE and signed
applets.
CLIENT_TEXT_IOandCLIENT_HOSTwork, and a file the form writes arrives as a download; the rest are stubs that let a form open. - Forms Services administration surface (
frmrwebconfig, the Forms Compiler, cluster deployment tooling). - Oracle Reports server integration —
RUN_REPORT_OBJECTrenders through our own reports path, not against a Reports Server instance.
Try it with your forms
Both demos accept a folder of .fmb files via the browser's
file picker. For the browser-only variant,
nothing leaves your machine: load a folder, pull your
network cable, the forms still run.
Run a Form Application (in-browser) · Run a Form Application (server)
On your own server, the licensed build runs with the wizard skipped — point it at a folder of modules on disk and the application boots at the URL it serves:
$ sqling-runner --folder /opt/myapp/forms loaded: 39 .fmb, 1 .pll, 3 .mmb starting form: LOGIN http://127.0.0.1:8771/
A formsrt.json at the folder root carries settings that
travel with the app (prompt-for-logon, default user, starting form).
Have Forms you need to keep running without Forms Services?
Send us a sample module and a count of what you have. We will tell you what runs today and what we would need to look at. Contact us.