---
title: Denodo
sidebar_label: Denodo
description: "Denodo is a data virtualization platform for logical data management."
hide_title: true
---

{/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
*/}

import { DatabasePage } from '@site/src/components/databases';

export const databaseInfo = {"engine":"denodo","engine_name":"Denodo","module":"denodo","documentation":{"description":"Denodo is a data virtualization platform for logical data management.","logo":"denodo.png","homepage_url":"https://www.denodo.com/","categories":["QUERY_ENGINES","PROPRIETARY"],"pypi_packages":["psycopg2"],"connection_string":"denodo://{username}:{password}@{host}:{port}/{database}","default_port":9996,"parameters":{"username":"Denodo username","password":"Denodo password","host":"Denodo VDP server hostname","port":"ODBC port (default 9996)","database":"Virtual database name"},"drivers":[{"name":"psycopg2","pypi_package":"psycopg2","connection_string":"denodo://{username}:{password}@{host}:{port}/{database}","is_recommended":true,"notes":"Uses PostgreSQL wire protocol."}],"custom_errors":[{"message_template":"Incorrect username or password.","error_type":"CONNECTION_INVALID_USERNAME_ERROR","category":"Authentication","description":"Invalid username","issue_codes":[1012],"invalid_fields":["username","password"]},{"message_template":"Please enter a password.","error_type":"CONNECTION_ACCESS_DENIED_ERROR","category":"Authentication","description":"Access denied","issue_codes":[1014,1015],"invalid_fields":["password"]},{"message_template":"Hostname \"%(hostname)s\" cannot be resolved.","error_type":"CONNECTION_INVALID_HOSTNAME_ERROR","category":"Connection","description":"Invalid hostname","issue_codes":[1007],"invalid_fields":["host"]},{"message_template":"Server refused the connection: check hostname and port.","error_type":"CONNECTION_PORT_CLOSED_ERROR","category":"Connection","description":"Port closed or refused","issue_codes":[1008],"invalid_fields":["host","port"]},{"message_template":"Unable to connect to database \"%(database)s\"","error_type":"CONNECTION_UNKNOWN_DATABASE_ERROR","category":"Connection","description":"Unknown database","issue_codes":[1015],"invalid_fields":["database"]},{"message_template":"Unable to connect to database \"%(database)s\": database does not exist or insufficient permissions","error_type":"CONNECTION_DATABASE_PERMISSIONS_ERROR","category":"Permissions","description":"Insufficient permissions","issue_codes":[1017],"invalid_fields":["database"]},{"message_template":"Please check your query for syntax errors at or near \"%(err)s\". Then, try running your query again.","error_type":"SYNTAX_ERROR","category":"Query","description":"SQL syntax error","issue_codes":[1030]},{"message_template":"Column \"%(column)s\" not found in \"%(view)s\".","error_type":"COLUMN_DOES_NOT_EXIST_ERROR","category":"Query","description":"Column not found","issue_codes":[1003,1004]},{"message_template":"Invalid aggregation expression.","error_type":"SYNTAX_ERROR","category":"Query","description":"SQL syntax error","issue_codes":[1030]},{"message_template":"\"%(exp)s\" is neither an aggregation function nor appears in the GROUP BY clause.","error_type":"SYNTAX_ERROR","category":"Query","description":"SQL syntax error","issue_codes":[1030]}]},"time_grains":{"SECOND":false,"FIVE_SECONDS":false,"THIRTY_SECONDS":false,"MINUTE":true,"FIVE_MINUTES":false,"TEN_MINUTES":false,"FIFTEEN_MINUTES":false,"THIRTY_MINUTES":false,"HALF_HOUR":false,"HOUR":true,"SIX_HOURS":false,"DAY":true,"WEEK":true,"WEEK_STARTING_SUNDAY":false,"WEEK_STARTING_MONDAY":false,"WEEK_ENDING_SATURDAY":false,"WEEK_ENDING_SUNDAY":false,"MONTH":true,"QUARTER":true,"QUARTER_YEAR":false,"YEAR":true},"score":27,"max_score":201,"joins":true,"subqueries":true,"supports_dynamic_schema":false,"supports_catalog":false,"supports_dynamic_catalog":false,"ssh_tunneling":true,"supports_file_upload":true,"query_cancelation":false,"query_cost_estimation":false,"sql_validation":false,"user_impersonation":false};

<DatabasePage name="Denodo" database={databaseInfo} />
