Skip to main content
Version: v3

JDBC Driver

Read-Only

Datasets in Canner Enterprise are Read-Only; currently only supports SELECT statement and does not support operations such as Update and Delete.

Installation

You can download the Jar from the link below

Connection Settings

The URL format for Canner Enterprise JDBC is as follows

jdbc:canner://[hosts]/canner/[workspace sql name][?properties]
  • hosts: hosts contains port, for example, if using IP connection, hosts will be like 192.168.100.1:80, if using domain connection with SSL, hosts Will be data-portal.apps.cannerdata.com:443
  • workspace sql name: workspace sql name will be the SQL Name of the workspace, this parameter can be seen in the Name in SQL of the Settings section in Workspace > Config
  • ?properties: Additional parameters for the connection

The actual wired URL would be something like

  • jdbc:canner://192.168.100.1:80/canner/test_workspace?token=Y2xpZW50XzM0MTE4NjJlLTI1Y
  • jdbc:canner://data-portal.apps.cannerdata.com:443/canner/test_workspace?token=Y2xpZW50XzM0MTE4NjJlLTI1Y

Example code

try {
// Database credentials
final String token = "<your personal access token here>";
final String jdbcUri = String.format("jdbc:canner://<host>:<port>/canner/<your workspace sql name here>?token=%s", token);

// Execute a query
Connection conn = DriverManager. getConnection(jdbcUri);
Statement stmt = conn.createStatement();
String sql = "SELECT * from lineitem";
ResultSet rs = stmt. executeQuery(sql);
ResultSetMetaData metadata = rs. getMetaData();

// Extract data from result set
// column count
int columnCount = metadata. getColumnCount();

for (int i = 1; i <= columnCount; i++ ) {
// print column name and column type
System.out.println(metadata.getColumnName(i));
System.out.println(metadata.getColumnType(i));
}

while(rs. next()) {
// iterate ResultSet
System.out.println(rs.getString("orderkey"));
}

// Clean-up environment
rs. close();
stmt. close();
conn. close();
}
catch (Exception e) {
e.printStackTrace();
}