PRO — $24.90/MO / 14-DAY PRO TRIAL ON SIGNUP

Print labels straight from an Oracle database

Connect the LabelInn Windows app to Oracle with a service name (or SID), write a read-only SELECT ... FETCH FIRST n ROWS ONLY query, and each row prints as one label. The Oracle client is built in, so there is no Instant Client or ODBC. Run on Oracle AI Database 26ai Free through the same connector the app uses.

PRO PLAN · 14-DAY TRIAL · WINDOWS DESKTOP APP
DATABASE QUERYROWS TO LABELS
Print labels straight from an Oracle database — LabelInn

Video / 1:27

Watch: Print labels from a database

1:27 walkthrough in the real app. Step-by-step page →

Video / 1:27LabelInn
Native printer languagesZPL, TSPL, TPCL, ESC/Label
No driver to installUSB, network or Bluetooth
Every platformWindows, macOS, Android, web
Free to startNo credit card, 14-day Pro trial

01

Who this is for

Manufacturing, pharmaceutical and distribution teams on Oracle-backed ERP or MES whose labelling is handled outside the system today.

02

Step by step

  1. Install the LabelInn Windows app on a PC that can reach the server. The database driver is built in; there is nothing else to install.
  2. Add the Oracle connection: host, port 1521, database and a database user that can read the tables you need.
  3. Write the Oracle SQL query that returns exactly the rows you want to label, one row per label.
  4. Map each result column onto a label field — text, barcode, QR or RFID — then preview a few rows.
  5. Print the result set, or save the query so the next run is one click.
Choose the database type: LabelInn app screenshot
1Choose the database typeOracle, MySQL / MariaDB, PostgreSQL, Microsoft SQL Server and SAP HANA are supported.

Write ordinary Oracle SQL. Use FETCH FIRST n ROWS ONLY while you are testing so a preview never pulls the whole table.

Try it with your own data — signing up starts a 14-day Pro trial, no credit card. After that database sources need Pro at $24.90/mo. Download now → | See pricing →

03

What you can do

  • Result columns bind to any label field, so barcode and QR content comes straight out of Oracle.
  • Re-run the saved query whenever you need the current rows — no export, no copy-paste, no stale file.
  • Mix database columns with static text, counters, dates and serial numbers on one label.
  • Printed rows are recorded in the print history, so a reprint or an audit can find the exact job later.
  • Queries can be parameterised, so an operator supplies a work order or batch number instead of editing SQL.

04

Technical details

ItemDetail
EngineOracle
Default port1521
Query languageOracle SQL
DriverBuilt into the bridge: Oracle.ManagedDataAccess.Core 23.6.1, the managed client. No Oracle Instant Client and no ODBC.
PlatformWindows desktop app only. The connector is a Windows program that runs next to the app; on macOS and Linux use Excel or CSV.
CredentialsA connection created in the desktop app keeps its password in the PC's secure storage (Windows DPAPI); host, port, database and user name are saved with the connection. A connection created from the dashboard or the API stores the password encrypted (AES-256-GCM) in your company's cloud record and the PC fetches it when it runs a query.
AccessRead-only: only SELECT and WITH statements run. The connection test reports the server version and whether the account looks read-only.
DefaultsRow limit 1000 and timeout 30 seconds per saved query (both editable, timeout up to 300).
PlanPro ($24.90/month, $249/year). Without it you can still connect, run the query and see the first 10 rows; binding an element or printing the set needs Pro. The 14-day trial from sign-up includes it.

05

Requirements for a direct database connection

  • The LabelInn Windows desktop app, on a PC that can reach the database server. The connector does not run on macOS.
  • Nothing to install for the database driver: it is built in.
  • A database user with SELECT on the tables you label and nothing else. LabelInn never needs write access for printing.
  • A Pro plan or the 14-day trial to bind and print; connecting and previewing 10 rows is open to every plan.

CONNECTING

Oracle specifics: service name or SID

LabelInn connection wizard, step 2: connection name, host, port, database and TLS selector for Oracle
The Connection details step. Host, Port and Database are the three values everyone needs; the TLS selector is explained below.
LabelInn saved-query editor with the SQL box, detected parameters, row limit 1000, timeout 30 seconds and a result table
Saved query editor: "SELECT/WITH only. Use :name syntax for parameters", row limit and timeout, and Run sample. On Oracle the query uses FETCH FIRST.
SettingWhat to enter
Host and portThe listener host and 1521.
Service name or SIDOracle does not use a "Database" field. Enter the service name (for example FREEPDB1 on Oracle Free) or, for older systems, the SID. One of the two is required; without it the connection is refused with "Profile must provide either serviceName or sid".
UserA user with SELECT. The test reads USER_SYS_PRIVS; if it cannot prove the account is read-only it says so and recommends a dedicated read-only user.

THE QUERY

A label query in Oracle SQL

EXAMPLESQL
SELECT sku, product,
       TO_CHAR(price, 'FM990.00') AS price,           -- 4.90 stays 4.90
       barcode, batch,
       TO_CHAR(expiry, 'DD.MM.YYYY') AS expiry        -- 31.03.2027
FROM labelinn_demo_products
WHERE batch = :batch
ORDER BY sku
FETCH FIRST 50 ROWS ONLY
  • FETCH FIRST n ROWS ONLY needs Oracle 12c or later; on older servers use WHERE ROWNUM <= n (also tested). LIMIT fails with ORA-03047 and TOP with ORA-00923.
  • :batch is native: the connector binds by name. A bind variable also worked inside FETCH FIRST :n ROWS ONLY.
  • Column names come back in upper case (SKU, PRODUCT) unless you alias them in double quotes. Mapping in the designer is by those names.
  • Do not end the statement with ; in a database client, but the connector trims a trailing ; for you.
  • An Oracle DATE carries a time, and NUMBER(8,2) arrives as the number 4.9. TO_CHAR as above gives 31.03.2027 and 4.90.
  • Error messages follow the database server's language (a Turkish server returned them in Turkish), so rely on the ORA- number, not the text.
What was verified

This query shape ran through the real connector on Oracle AI Database 26ai Free (23.26.1) on 17 October 2026: it returned the expected rows with 4.90 and 31.03.2027. The account used was read-only, so the table was supplied as inline WITH data instead of a created table; the seed script below was therefore not executed to the end.

WHEN IT FAILS

ORA- errors LabelInn recognises

Oracle errorLabelInn reportsUsual cause
ORA-01017auth_failedInvalid user name or password.
ORA-00942table_not_foundTable or view does not exist, or the user has no SELECT on it (add the schema prefix).
ORA-00904column_not_foundInvalid identifier: a column name typed in a different case after being created with quotes.
ORA-03047, ORA-00923ora_errorLIMIT or TOP used instead of FETCH FIRST.

ANY PRINTER

Design it, bind your data, print on the printer you already own.

Zebra, TSC, Toshiba, Epson and more — over USB, network or Bluetooth, with no driver to install.

LabelInn on a laptop with a thermal printer and the printed label

QUESTIONS / FAQ

Frequently asked questions

Which Oracle SQL do I write?

Ordinary Oracle SQL. LabelInn does not rewrite your SQL; it runs the statement you saved and maps the result columns onto label fields. Use `… FETCH FIRST n ROWS ONLY` while testing.

Can I print to a Zebra or TSC printer from Oracle without a driver?

For models LabelInn drives natively over ZPL, TSPL or TPCL, yes — the command stream is generated and sent directly. That is independent of the database driver, which is only used to read your rows.

Does label data leave my network when I print from Oracle?

The query runs on the PC where LabelInn is installed, against your own Oracle server, and the rows fill the label there. What is stored in the cloud is the label design and the print record, plus the connection's host, port, database and user name. The password depends on how the connection was made: A connection created in the desktop app keeps its password in the PC's secure storage (Windows DPAPI); host, port, database and user name are saved with the connection. A connection created from the dashboard or the API stores the password encrypted (AES-256-GCM) in your company's cloud record and the PC fetches it when it runs a query.

Do I need Oracle Instant Client or an ODBC driver?

No. The connector uses Oracle.ManagedDataAccess.Core, Oracle's fully managed client, so it needs no Instant Client, ODBC driver or TNS configuration beyond the host, port and service name.

Service name or SID?

Use the service name if you have one (pluggable databases always do). Use the SID only for older single-instance databases. The form needs one of them.

Which row-limit syntax does the Oracle query use?

FETCH FIRST n ROWS ONLY on Oracle 12c and later, or ROWNUM <= n on older versions. LIMIT and TOP are not Oracle syntax and fail with ORA-03047 and ORA-00923.

NEXT STEP / LABELINN

Print your Oracle data on the printer you already own

Database sources run on Pro — $24.90/mo, or $249/year (pay for 10 months, use 12). Signing up starts a 14-day Pro trial, so you can bind your own Oracle data and print a real label before you pay anything. · 14-day Pro trial on signup · No credit card required · Database connections run on the Windows desktop app

Start free →