JDBC Driver for Odoo

Build 25.0.9434

Establishing a Connection

Creating a JDBC Data Source

You can create a JDBC data source to connect from your Java application. Creating a JDBC data source based on the CData JDBC Driver for Odoo consists of three basic steps:

  1. Add the driver JAR file to the classpath. The JAR file is located in the lib subfolder of the installation directory. Note that the .lic file must be located in the same folder as the JAR file.
  2. Provide the driver class. For example:
    cdata.jdbc.odoo.OdooDriver
  3. Provide the JDBC URL. For example:
    jdbc:odoo:User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase
    
    or
    
    jdbc:cdata:odoo:User=MyUser;APIToken=MyToken;URL=http://MyOdooSite/;Database=MyDatabase

    You can use the second format above whenever there is a conflict in your application between drivers using the same URL format to ensure you are using the CData driver. The URL must start with either "jdbc:odoo:" or "jdbc:cdata:odoo:" and can include any of the connection properties in name-value pairs separated with semicolons.

Connecting to Odoo

To connect, set the URL to your Odoo instance URL, User and APIToken to your user credentials, and Database to your Odoo database name.

If you are not using an API token (available only in Odoo 14 and later), you can enter your password directly into the APIToken field instead.

Quick Start: Connecting to Odoo Online

The steps below are a typical setup for connecting to Odoo Online:

  1. Set OdooEdition to Online.
  2. Set URL to the full URL of your Odoo instance, such as https://mycompany.odoo.com.
  3. Set User to your Odoo login (email or username).
  4. Set APIToken to your API key or password.
  5. Set Database to your database name (optional for Odoo Online, required for On-Premises).

Note: For On-Premises Odoo, the steps are similar, but you must always provide Database and ensure your server is accessible to the driver. For Odoo Online, the database may be detected automatically, but setting it is recommended.

Odoo Edition

The OdooEdition property determines how the connection is established. Odoo offers two different types of environments, and this setting tells the driver which one you are using:

  • Online: For Odoo's cloud-hosted SaaS version at odoo.com
  • OnPrem: For Odoo installations that you or your company host on your own servers

If you're unsure, use Online if you access Odoo from a web address like yourcompany.odoo.com. Use OnPrem if your organization manages its own Odoo server (often accessed via a custom domain or local network).

Database

Odoo supports multiple databases under the same server. You must provide the name of the specific database you want to connect to.

  • For Odoo Online: The database name is often included in the web address, and the driver may be able to detect it automatically if Database is left blank. However, in some cases, the database is not visible in the URL and must be specified manually. Setting this value is always recommended for reliability.
  • For Odoo On-Premises: You must set the Database property. The driver cannot detect the database automatically in this case.

How to Find Your Database Name (Odoo Online)

  1. Log into your Odoo Online account
  2. Click your profile icon in the top-right corner and choose My Databases
  3. Your database name will be listed in the table

Alternatively, you can often see the database name in the subdomain of your URL. If your address is https://mycompany.odoo.com, your database name is likely mycompany.

Access Rights

To discover available models (tables) in Odoo, the driver checks the internal ir.model.access table, which defines what models a user is allowed to see.

By default, only Odoo administrators have permission to read this table. To give a non-admin user access, create a new group:

  1. Log in as an administrator and enable developer mode in Odoo settings.
  2. Open the Groups page (under the Users drop-down) and create a new group.
  3. Set the Application to Administration and name the group "Service Access".
  4. Add the users who need access under the Users tab.
  5. In the Access Rights tab, add a permission for ir.model.access (or Model Access), check Read, and name it Inspect Models.

If you're unable to grant access in this way, set the CheckPermissions property to false. This disables permission checking and allows the driver to list all available models, even if the user doesn't have explicit access.

Troubleshooting

If you encounter errors like missing database or authentication failed, try the following:

  • Double-check the value of Database, especially for On-Prem environments.
  • Make sure your user credentials are valid by logging into Odoo directly.
  • If using Odoo Online, try leaving Database blank and allow auto-detection.
  • Ensure the correct OdooEdition is set (Online vs OnPrem).

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434