Aller au contenu principal

Configurer une connexion à Databricks à l’aide du Driver JDBC Databricks (Simba)

remarque

Cette page s'applique au Driver JDBC Simba (hérité), versions inférieures à la version 3. Databricks recommande vivement de migrer vers le Driver JDBC Databricks pour la connectivité JDBC. Il inclut des améliorations telles que la prise en charge des vues des indicateurs Unity Catalog, des transactions couvrant plusieurs instructions SQL, des procédures stockées, une récupération plus rapide des grands résultats et la télémétrie client intégrée.

Cette page explique comment configurer une connexion à Databricks à l'aide du Databricks JDBC Driver.

Pour configurer une connexion, combinez les paramètres suivants dans une URL de connexion JDBC ou une collection de propriétés de connexion programmatique :

Format de l'URL de connexion

Les URL de connexion JDBC utilisent le format suivant :

jdbc:databricks://<server-hostname>:443;httpPath=<http-path>[;<setting1>=<value1>;<setting2>=<value2>;<settingN>=<valueN>]

Exemple Java

L’exemple suivant montre comment configurer les propriétés de connexion en Java :

Java
package org.example;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import java.util.Properties;

public class Main {
public static void main(String[] args) throws Exception {
Class.forName("com.databricks.client.jdbc.Driver");
String url = "jdbc:databricks://" + System.getenv("DATABRICKS_SERVER_HOSTNAME") + ":443";
Properties p = new java.util.Properties();
p.put("httpPath", System.getenv("DATABRICKS_HTTP_PATH"));
p.put("<setting1>", "<value1>");
p.put("<setting2>", "<value2>");
p.put("<settingN>", "<valueN>");
try (Connection conn = DriverManager.getConnection(url, p)) {
Statement stmt = conn.createStatement();
try (ResultSet rs = stmt.executeQuery("<query>")) {
ResultSetMetaData md = rs.getMetaData();
String[] columns = new String[md.getColumnCount()];
for (int i = 0; i < columns.length; i++) {
columns[i] = md.getColumnName(i + 1);
}
while (rs.next()) {
System.out.print("Row " + rs.getRow() + "=[");
for (int i = 0; i < columns.length; i++) {
if (i != 0) {
System.out.print(", ");
}
System.out.print(columns[i] + "='" + rs.getObject(i + 1) + "'");
}
System.out.println(")]");
}
}
}
System.exit(0);
}
}

Choisissez une URL de connexion ou des propriétés de connexion en fonction des exigences de votre application, de votre outil ou de votre SDK.