datasources

Creates Denodo 9.5 data sources, wrappers, and base views from CSV, JSON, and JDBC sources.

Updated Sep 4, 2026
One-click install
npx skills add https://github.com/kirivandubai/denodo_wipe_coading_skills --skill datasources-kirivandubai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: datasources
Source: https://github.com/kirivandubai/denodo_wipe_coading_skills/tree/main/skills/datasources
Command: npx skills add https://github.com/kirivandubai/denodo_wipe_coading_skills --skill datasources-kirivandubai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Connecting a new data source to Denodo 9.5 requires writing correct VQL for three chained objects — data source, wrapper, and base view — where silent failures (zero rows, wrong column values, erased credentials) are common and produce no errors. This Skill provides verified templates and verification steps so the objects actually return correct data. ## Core Features & Use Cases - Delimited file onboarding: Generates CREATE DATASOURCE DF, WRAPPER DF, and base view VQL for CSV and other delimited files, with positional column mapping and IGNOREMATCHINGERRORS safeguards. - JSON sources: Builds JSON data sources and wrappers with TUPLEROOT, nested REGISTER OF / ARRAY OF schemas, and the CREATE TYPE statements compound columns require. - JDBC connections: Assembles JDBC URIs for Oracle, PostgreSQL, SQL Server, MySQL, Snowflake, Databricks and more, then introspects the live source with GET_JDBC_DATASOURCE_TABLES and GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW instead of asking for column lists. - Credential handling: Encrypts passwords server-side so only ciphertext reaches the versioned .vql file, and reuses ciphertext from existing data sources when possible. - Use Case: A user says "onboard this CSV of returns and connect our Oracle order database" — the Skill asks for the missing connection details in one message, writes a reviewable .vql file, applies it, and verifies row counts and values. ## Quick Start Ask the assistant to connect a specific source, for example: "Onboard /data/exports/customers.csv as a base view in Denodo and verify it returns rows."

Frequently Asked Questions about datasources

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a base view over a CSV file in Denodo?

Create three objects in order: a DF data source pointing at the server-side file path, a DF wrapper whose OUTPUTSCHEMA lists every file column in file order, and a base view with CREATE TABLE and ADD SEARCHMETHOD. Set IGNOREMATCHINGERRORS = FALSE so malformed lines fail loudly instead of returning zero rows.

How do I connect Denodo to Oracle or PostgreSQL over JDBC?

Provide the host, port, database or service name, and credentials; the DATABASEURI is assembled from a driver table (e.g. jdbc:oracle:thin:@host:1521/service). After creating the JDBC data source, use GET_JDBC_DATASOURCE_TABLES and GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW to introspect tables and generate wrapper and base view VQL.

Why does my Denodo base view return zero rows over a CSV file?

The DF wrapper's OUTPUTSCHEMA must list every column of the file in file order because the mapping is positional. A wrapper with fewer columns than the file fails the column-count check on every line, and IGNOREMATCHINGERRORS defaults to TRUE, so rows are dropped silently.

Can Denodo introspect the columns of a CSV or JSON file automatically?

No, the server does not introspect files; the wrapper schema must be written from the file's actual header or JSON structure. You can read an existing base view's VQL over the same file, ask for the header, or use a TUPLEPATTERN '(.*)' trick to read raw lines through a temporary base view.

How do I store a JDBC password in a Denodo VQL file safely?

Encrypt the password on the target server with the provided secret encrypt command and put only the ciphertext with the ENCRYPTED keyword in the file. Never write ENCRYPT_PASSWORD with a plaintext argument yourself, and note that re-applying CREATE OR REPLACE DATASOURCE without USERPASSWORD erases the stored credentials.

Why does a JSON base view return more rows than expected in Denodo?

A flat OUTPUTSCHEMA over nested JSON arrays multiplies rows silently. The wrapper must wrap the whole record in an outer REGISTER OF field with TUPLEROOT '/JSONFile/JSONArray', and compound columns need named types created with CREATE TYPE before the base view.