Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-05-22 GMT+08:00

Conexión a una instancia de HTAP estándar a través de JDBC

Puede conectarse a una instancia de HTAP estándar con JDBC.

Precauciones

Actualmente, las instancias HTAP solo admiten el conjunto de caracteres UTF-8.

Requisitos previos

  • Usted está familiarizado con:
    • Conceptos básicos de computadora
    • Java
    • Conocimiento de JDBC
  • Ha descargado el controlador oficial de JDBC para MySQL o MariaDB.
  • Ha creado una instancia de HTAP estándar.
  • Se ha agregado la siguiente dependencia al archivo pom.xml.
    <dependency>   
        <groupId>mysql</groupId>   
        <artifactId>mysql-connector-java</artifactId>   
        <version>5.1.47</version> 
    </dependency>
  • Puede utilizar el siguiente comando para conectarse a una instancia de HTAP con JDBC:

    jdbc:mysql://<instance_ip>:<instance_port>/<database_name>

    Parámetro

    Descripción

    <instance_ip>

    Dirección IP del nodo FE en la instancia HTAP. Si hay un proxy instalado, utilice la dirección IP del proxy.

    <instance_port>

    Puerto de instancia HTAP. El valor predeterminado es 3306.

    <database_name>

    Nombre de la base de datos utilizado para conectarse a la instancia.

Código de muestra

Ejemplo de código (código Java para conectarse a una base de datos HTAP):

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
public class JDBCTest {
    static final String IP = "*.*.*.*"; //IP address of the instance
    static final String USER = "***"; //Username
    static final String PASS = "***"; //Password
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        String url = "jdbc:mysql://" + IP + ":3306";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(url, USER, PASS);
            stmt = conn.createStatement();
            String sql = "show databases;";
            ResultSet rs = stmt.executeQuery(sql);
            int columns = rs.getMetaData().getColumnCount();
            for (int i = 1; i <= columns; i++) {
                System.out.print(rs.getMetaData().getColumnName(i));
                System.out.print("\t");
            }
            while (rs.next()) {
                System.out.println();
                for (int i = 1; i <= columns; i++) {
                    System.out.print(rs.getObject(i));
                    System.out.print("\t");
                }
            }
            rs.close();
            stmt.close();
            conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // release resource ....
        }
    }
}