# 开始使用 JDBC

By [honey](https://paragraph.com/@duoergun) · 2024-03-02

---

用于将您喜爱的 IDE、SQL 编辑器或 BI 工具连接到 Space and Time。

JDBC 驱动程序为许多传统数据工具提供支持，例如 SQL 编辑器、BI 和可视化工具、ETL 工具等。添加 JDBC 驱动程序的空间和时间 (SXT) 允许广泛采用这些传统工具。

> 📘
> --
> 
> 这些说明将引导您通过开源 SQL 编辑器 DBeaver 连接到 Space and Time。根据您的 SQL 编辑器的不同，步骤会略有不同，但一般概念是相同的。

要求
==

*   下载最新版本的[SxT JDBC 驱动程序 jar](https://spaceandtime.jfrog.io/ui/native/sxt-maven-public/io/spaceandtime/jdbc-driver/)并将其保存在本地磁盘上的某个位置，例如“Applications”或“Program Files”目录下。大多数用例只需要 .jar 文件，.pom 文件可以忽略：
    
*   下载[DBeaver](https://dbeaver.io/)（或其他 SQL 编辑器或选择）
    

设置 JDBC 驱动程序
============

第 1 步：添加新驱动程序
-------------

将 .jar 文件添加为 SQL 编辑器中的新驱动程序。如何执行此操作取决于工具 - 下面概述了 DBeaver 的说明，但大多数工具都有些相似。

### DBeaver说明：

*   打开“数据库菜单”→“驱动程序管理器”→“新建”
    
*   选择“库”选项卡和“添加文件”
    
*   导航到上面[“要求”](https://docs.spaceandtime.io/docs/jdbc-driver#requirements)部分中链接的 SxT JDBC 驱动程序 .jar 文件
    
*   选择 .jar 文件后，单击“查找类”按钮并选择 Driver Class 。如果“查找类”按钮不起作用，请先尝试保存连接，然后返回并再次单击“查找类”。`io.spaceandtime.jdbc.JdbcDriver`
    
*   点击“确定”保存新的库和设置
    

步骤 2：配置驱动程序属性
-------------

设置**驱动程序**需要两个驱动程序属性：

*   班级名称：`io.spaceandtime.jdbc.JdbcDriver`
    
*   URL 模板：建立新连接时， 将被**主机字段替换。**`jdbc:sxt:thin://{host}{host}`
    

驱动程序设置屏幕应如下所示：

![](https://storage.googleapis.com/papyrus_images/25f32ab4ea24773c93a93663860f98cf3e51c0b0aea2770fe749855d3a482105.png)

第 3 步：创建新连接
-----------

设置驱动程序后，您可以创建**新连接**。同样，这会根据所使用的工具而有所不同，但是您需要一些信息。

您可以通过两种方式使用 JDBC 驱动程序进行身份验证：通过网关（秘密代理）使用用户名/密码或使用公钥/私钥对直接连接到去中心化网络。对于任一方法，上述连接设置信息保持不变。

### 通过网关（秘密代理）连接

这是最直接的，因为它利用了 Space and Time Studio 的用户名和密码。如果您使用钱包创建了 Studio 帐户，

### 直接连接到去中心化网络

### 始终需要：

*   **主机**\- 这将是[API 基本 URL](https://docs.spaceandtime.io/reference/find-your-endpoint)。注意：请勿在此字段中包含 http:// 或 https://。
    
*   **用户名**\- 这将是您在空间和时间上注册的用户名。为了方便注册，请使用空间和时间 CLI。`userId`
    

### 使用网关（秘密代理）进行身份验证：

[如果您使用Space and Time Studio](https://app.spaceandtime.ai/)创建帐户，您可以使用

### 使用去中心化网络进行身份验证：

使用去中心化网络进行身份验证时，您需要提供您的公钥/私钥对。将此信息输入 JDBC 连接屏幕时：

> 📘
> --
> 
> 用户的私钥永远不会离开 JDBC 驱动程序/用户的计算机。相反，私钥用于生成加密签名，该签名允许空间和时间服务器验证密钥所有权，而无需传输密钥本身。

*   密码 - 输入您帐户的私钥，该私钥是在您创建新用户或添加到网关用户时生成的。或者，您可以选择将私钥添加到名为 的新用户属性中，与公钥相同，但不建议这样做 - 大多数 JDBC 工具会将用户属性存储为纯文本并允许复制访问的价值，使其不太安全`privateKey`
    
*   publicKey - 这将是与上述私钥相对应的公钥。请注意，需要手动配置，因为默认情况下该字段不存在。`publicKey`
    

![](https://storage.googleapis.com/papyrus_images/7ef98f659edbb2d64f9428bfbbe035660fbb67155b3d197843d17657a4f38035.png)

第 4 步：测试您的连接
------------

在继续之前，请测试您的连接以确保所有属性均已正确输入。

### DBeaver说明：

*   选择配置屏幕左下角的“测试连接”
    

关于访问和许可资源（饼干）
=============

空间和时间使用饼干来管理去中心化网络上用户和表之间的安全授权。建立此授权需要 JDBC 驱动程序执行一个额外步骤：向 JDBC 添加一块饼干。有关如何执行此操作的指南，[请参阅此页面](https://docs.spaceandtime.io/docs/managing-biscuits-with-jdbc)。`driver properties`

[https://docs.spaceandtime.io/docs/jdbc-driver](https://docs.spaceandtime.io/docs/jdbc-driver)

---

*Originally published on [honey](https://paragraph.com/@duoergun/jdbc)*
