Connectors Snowflake

Snowflake data integration with Lima, in both directions.

Snowflake is a cloud data warehouse. Lima writes Parquet files to an internal stage, loads them with COPY INTO into RAW tables, merges into CONFORMED tables and keeps a HISTORY schema for full-history migrations. Lima also reads Snowflake through JDBC when the warehouse is the source for a planning or reporting load.

SOURCESSAP ECC · S/4HANAreleased interfacesOracle EBS · Fusion · JDEdatabase reads · APIsDatabases, files, streamsJDBC · SFTP · KafkaLIMA BACKBONEExtractfull, incremental, change captureChecktypes · keys · counts · totalsLoadParquet to an internal stage, COPY INTO…TARGETSnowflakeThree schemas: RAW (as arrived), CONFORM…
How Snowflake fits the six Backbone steps. It is a source and a target: data comes out through the methods below, and results go back in with confirmation.
4
ways to read or write it
this connector
4
patterns supported
this connector
3
ways to run: SaaS, private cloud, on-premise
product
22 days
from contract to production
showcase estate
How Lima reads and writes Snowflake

Method by method.

Each method has a job. The first load uses the bulk method; the daily run uses the incremental or change-capture method; write-back uses the interface the system itself uses.

MethodWhat it doesWhen it is used
Stage + COPY INTOBulk loads Parquet files from an internal stage.First loads, migrations, nightly copies.
MERGEApplies inserts, updates and deletes by key.Keeping tables current.
JDBC readsReads tables and views in partitions.Snowflake as a source.
Snowpipe (optional)Continuous loading of small files.Streaming-style landing.
What it covers

Objects and patterns.

The objects are the tables, views or records Lima reaches through the methods above. The patterns say how a copy is made and kept current.

ObjectPlain meaning
RAW schematables as they arrived, typed
CONFORMED schemacurrent state by key
HISTORY schemaevery version, for archives and audits
PatternSupported
Full loadYes
IncrementalYes
Change captureapplied by MERGE from the source's change feed
Streamingmicro-batch landing via Snowpipe
Write-back—
What Snowflake expects

The landing model, and the hardest part.

ModelThree schemas: RAW (as arrived), CONFORMED (current state by key) and HISTORY (every version). Types set from the source, including SAP dates and currency decimals.LoadParquet to an internal stage, COPY INTO RAW, MERGE into CONFORMED, append to HISTORY; a row count and control total per table per run.BackSnowflake is the copy. Results computed there can be written back to the ERP by Lima with the same confirmation.
The hardest part, in one sentence

Getting SAP and Oracle types right on landing: text dates and times, currency decimals, zero-padded keys and client or organisation columns.

Before you start

Prerequisites, then four steps.

The prerequisites are what the team that runs Snowflake grants. The four steps are the same for every connector.

  • A role with USAGE on the warehouse and CREATE on the target database and schema
  • An internal stage or an external stage on your object storage
  • Key-pair or OAuth authentication
Register the connectionEndpoint, credentials from the vault, and the method. The connection is tested and a failed test names the cause.
Choose the objects and the patternPick tables or objects from the discovered schema, and the pattern: full, incremental, change capture or streaming.
Run the first load with checks onEvery row is valid or becomes an exception with an owner. The run ends with a count and a control total per table.
Schedule it on the business calendarA run window with a deadline; pause, resume and replay if a check trips; the report after every run.
What happens to a bad record

Incoming data = valid records + exception records. A row that fails a check is kept, routed to the person who owns it with a deadline, and replayed once fixed. The load carries on with the valid rows and the report says exactly what was held back. How exceptions work →

Pair pages

Snowflake in a source-to-target path.

Each pair page covers one path end to end: objects out, model in, checks, cadence and the offer.

/connectors/sap-ecc-to-snowflake

SAP ECC to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/sap-s4hana-to-snowflake

SAP S/4HANA to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/oracle-ebs-to-snowflake

Oracle E-Business Suite to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/oracle-fusion-cloud-erp-to-snowflake

Oracle Fusion Cloud ERP to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/oracle-jd-edwards-to-snowflake

Oracle JD Edwards EnterpriseOne to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/peoplesoft-to-snowflake

Oracle PeopleSoft to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/microsoft-dynamics-365-to-snowflake

Microsoft Dynamics 365 Finance and Supply Chain to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/infor-ln-m3-to-snowflake

Infor LN and M3 to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/netsuite-to-snowflake

Oracle NetSuite to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
/connectors/sap-bw-to-snowflake

SAP BW and BW/4HANA to Snowflake

Landing and history: full history landed with a count check per table, then kept current.

Open the pair page →
Status and evidence

Stated plainly, with dates.

Snowflake Partner Connect listing: planned 2027
Terms on this page

Plain meanings.

ConnectorA packaged way to read or write one kind of system, with its authentication, methods and prerequisites described.
Full, incremental, change capture, streamingFour ways to make and keep a copy: read everything; read what changed since last time; read changes from a log as they happen; consume events in small batches.
Write-backWriting a result into the system that owns it through its released interface; the system's response is the confirmation.
Control totalThe sum of a key amount column compared between source and target, along with the row count, at the end of a run.
Exception recordA row that failed a check: kept, routed to an owner, replayed once fixed.
Questions

Asked about this connector.

Does Lima install anything in Snowflake?

Lima connects from outside through the interfaces listed above with credentials your administrators grant. Where a vendor requires its own agent or add-on for a method, the prerequisites say so.

How is load on Snowflake kept in check?

Parallel reads are capped and the cap is agreed with the team that runs the system. Large reads run inside an agreed run window. Change capture keeps the daily volume small.

What do we see when a run finishes?

A report per run: rows in, rows out, control totals and variance per table, the exceptions held back and who owns them, and whether the deadline was met.

Can we start small?

Yes. Most estates start with one source, one target and one dataset, then add tables and patterns on the same connection.

Try Snowflake on your own estate.

A trial connects this system, runs a first load and ends with a reconciliation report. Your administrators see the prerequisites before anything is installed.