다음을 통해 공유

使用 Databricks JDBC 驱动程序(Simba)配置 Databricks 连接

注释

此页面适用于低于 3 的 Databricks JDBC 驱动程序版本。 有关 Databricks JDBC 驱动程序版本 3 及更高版本,请参阅 Databricks JDBC 驱动程序

本页介绍如何使用 Databricks JDBC 驱动程序配置与 Azure Databricks 的连接。

若要配置连接,请将以下设置合并到 JDBC 连接 URL 或连接属性的编程集合中:

连接 URL 格式

JDBC 连接 URL 使用以下格式:

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

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);
  }
}

根据应用程序、工具或 SDK 的要求选择连接 URL 或连接属性。