Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 34 additions & 12 deletions docs/content.zh/docs/connectors/table/jdbc.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,18 @@ JDBC 连接器不是二进制发行版的一部分,请查阅[这里]({{< ref "

在连接到具体数据库时,也需要对应的驱动依赖,目前支持的驱动如下:

| Driver | Group Id | Artifact Id | JAR |
|:-----------|:---------------------------|:-----------------------|:----------------------------------------------------------------------------------------------------------------------------|
| MySQL | `mysql` | `mysql-connector-java` | [下载](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/) |
| Oracle | `com.oracle.database.jdbc` | `ojdbc8` | [下载](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8) |
| PostgreSQL | `org.postgresql` | `postgresql` | [下载](https://jdbc.postgresql.org/download/) |
| Derby | `org.apache.derby` | `derby` | [下载](http://db.apache.org/derby/derby_downloads.html) |
| SQL Server | `com.microsoft.sqlserver` | `mssql-jdbc` | [下载](https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16) |
| CrateDB | `io.crate` | `crate-jdbc` | [下载](https://repo1.maven.org/maven2/io/crate/crate-jdbc/) |
| Db2 | `com.ibm.db2.jcc` | `db2jcc` | [下载](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows) |
| Trino | `io.trino` | `trino-jdbc` | [下载](https://repo1.maven.org/maven2/io/trino/trino-jdbc/) |
| OceanBase | `com.oceanbase` | `oceanbase-client` | [下载](https://repo1.maven.org/maven2/com/oceanbase/oceanbase-client/) |
| Driver | Group Id | Artifact Id | JAR |
|:-----------|:---------------------------|:----------------------------|:----------------------------------------------------------------------------------------------------------------------------|
| MySQL | `mysql` | `mysql-connector-java` | [下载](https://repo.maven.apache.org/maven2/mysql/mysql-connector-java/) |
| Oracle | `com.oracle.database.jdbc` | `ojdbc8` | [下载](https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8) |
| PostgreSQL | `org.postgresql` | `postgresql` | [下载](https://jdbc.postgresql.org/download/) |
| Derby | `org.apache.derby` | `derby` | [下载](http://db.apache.org/derby/derby_downloads.html) |
| SQL Server | `com.microsoft.sqlserver` | `mssql-jdbc` | [下载](https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16) |
| CrateDB | `io.crate` | `crate-jdbc` | [下载](https://repo1.maven.org/maven2/io/crate/crate-jdbc/) |
| Db2 | `com.ibm.db2.jcc` | `db2jcc` | [下载](https://www.ibm.com/support/pages/download-db2-fix-packs-version-db2-linux-unix-and-windows) |
| Trino | `io.trino` | `trino-jdbc` | [下载](https://repo1.maven.org/maven2/io/trino/trino-jdbc/) |
| OceanBase | `com.oceanbase` | `oceanbase-client` | [下载](https://repo1.maven.org/maven2/com/oceanbase/oceanbase-client/) |
| Spanner | `com.google.cloud` | `google-cloud-spanner-jdbc` | [下载](https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner-jdbc) |

当前,JDBC 连接器和驱动不在 Flink 二进制发布包中,请参阅[这里]({{< ref "docs/dev/configuration/overview" >}})了解在集群上执行时如何连接它们。

Expand Down Expand Up @@ -434,6 +435,10 @@ lookup cache 的主要目的是用于提高时态表关联 JDBC 连接器的性
WHEN NOT MATCHED THEN INSERT (..) <br>
VALUES (..)</td>
</tr>
<tr>
<td>Spanner</td>
<td>INSERT OR UPDATE INTO .. (..) VALUES (..)</td>
</tr>
</tbody>
</table>

Expand Down Expand Up @@ -473,6 +478,7 @@ JDBC catalog 支持以下参数:
- 对于 Postgres Catalog `base-url` 应为 `"jdbc:postgresql://<ip>:<port>"` 的格式。
- 对于 MySQL Catalog `base-url` 应为 `"jdbc:mysql://<ip>:<port>"` 的格式。
- 对于 OceanBase Catalog `base-url` 应为 `"jdbc:oceanbase://<ip>:<port>"` 的格式。
- 对于 Spanner Catalog `base-url` 应为 `"jdbc:cloudspanner:/projects/<project>/instances/<instance>/databases/<database>"` 的格式。
- `compatible-mode`: 选填,数据库的兼容模式。

{{< tabs "10bd8bfb-674c-46aa-8a36-385537df5791" >}}
Expand Down Expand Up @@ -709,7 +715,7 @@ SELECT * FROM given_database.test_table2;

数据类型映射
----------------
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server、OceanBase 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。
Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、Oracle、PostgreSQL、CrateDB, Derby、Db2、 SQL Server、OceanBase、Spanner 等。其中,Derby 通常是用于测试目的。下表列出了从关系数据库数据类型到 Flink SQL 数据类型的类型映射,映射表可以使得在 Flink 中定义 JDBC 表更加简单。

<table class="table table-bordered">
<thead>
Expand All @@ -723,6 +729,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<th class="text-left"><a href="https://trino.io/docs/current/language/types.html">Trino type</a></th>
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222199">OceanBase MySQL mode type</a></th>
<th class="text-left"><a href="https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000222012">OceanBase Oracle mode type</a></th>
<th class="text-left"><a href="https://cloud.google.com/spanner/docs/reference/standard-sql/data-types">Spanner type</a></th>
<th class="text-left"><a href="{{< ref "docs/dev/table/types" >}}">Flink SQL type</a></th>
</tr>
</thead>
Expand All @@ -737,6 +744,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TINYINT</code></td>
<td><code>TINYINT</code></td>
<td></td>
<td></td>
<td><code>TINYINT</code></td>
</tr>
<tr>
Expand All @@ -759,6 +767,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>SMALLINT</code><br>
<code>TINYINT UNSIGNED</code></td>
<td></td>
<td></td>
<td><code>SMALLINT</code></td>
</tr>
<tr>
Expand All @@ -781,6 +790,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>MEDIUMINT</code><br>
<code>SMALLINT UNSIGNED</code></td>
<td></td>
<td></td>
<td><code>INT</code></td>
</tr>
<tr>
Expand All @@ -801,6 +811,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>BIGINT</code><br>
<code>INT UNSIGNED</code></td>
<td></td>
<td>INT64</td>
<td><code>BIGINT</code></td>
</tr>
<tr>
Expand All @@ -813,6 +824,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td></td>
<td><code>BIGINT UNSIGNED</code></td>
<td></td>
<td>NUMERIC</td>
<td><code>DECIMAL(20, 0)</code></td>
</tr>
<tr>
Expand All @@ -831,6 +843,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>FLOAT</code></td>
<td>
<code>BINARY_FLOAT</code></td>
<td><code>FLOAT32</code></td>
<td><code>FLOAT</code></td>
</tr>
<tr>
Expand All @@ -849,6 +862,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>DOUBLE</code></td>
<td><code>DOUBLE</code></td>
<td><code>BINARY_DOUBLE</code></td>
<td><code>FLOAT64</code></td>
<td><code>DOUBLE</code></td>
</tr>
<tr>
Expand Down Expand Up @@ -877,6 +891,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td>
<code>FLOAT(s)</code><br>
<code>NUMBER(p, s)</code></td>
<td><code>NUMERIC</code></td>
<td><code>DECIMAL(p, s)</code></td>
</tr>
<tr>
Expand All @@ -894,6 +909,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>TINYINT(1)</code></td>
<td></td>
<td><code>BOOLEAN</code></td>
<td><code>BOOLEAN</code></td>
</tr>
<tr>
<td><code>DATE</code></td>
Expand All @@ -906,6 +922,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>DATE</code></td>
<td><code>DATE</code></td>
<td><code>DATE</code></td>
<td><code>DATE</code></td>
</tr>
<tr>
<td><code>TIME [(p)]</code></td>
Expand All @@ -917,6 +934,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TIME_WITHOUT_TIME_ZONE</code></td>
<td><code>TIME [(p)]</code></td>
<td><code>DATE</code></td>
<td><code></code></td>
<td><code>TIME [(p)] [WITHOUT TIMEZONE]</code></td>
</tr>
<tr>
Expand All @@ -932,6 +950,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td><code>TIMESTAMP_WITHOUT_TIME_ZONE</code></td>
<td><code>DATETIME [(p)]</code></td>
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
<td><code>TIMESTAMP [(p)]</code></td>
<td><code>TIMESTAMP [(p)] [WITHOUT TIMEZONE]</code></td>
</tr>
<tr>
Expand Down Expand Up @@ -980,6 +999,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<code>NCHAR(n)</code><br>
<code>VARCHAR2(n)</code><br>
<code>CLOB</code></td>
<td><code>STRING(n)</code></td>
<td><code>STRING</code></td>
</tr>
<tr>
Expand All @@ -1005,6 +1025,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td>
<code>RAW(s)</code><br>
<code>BLOB</code></td>
<td><code>BYTES(n)</code></td>
<td><code>BYTES</code></td>
</tr>
<tr>
Expand All @@ -1018,6 +1039,7 @@ Flink 支持连接到多个使用方言(dialect)的数据库,如 MySQL、O
<td></td>
<td></td>
<td><code>ARRAY</code></td>
<td><code>ARRAY</code></td>
</tr>
</tbody>
</table>
Expand Down
Loading