---
title: "LOAD_FILE - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: LOAD_FILE 描述 LOAD_FILE 函数基于外表接口，本地读取外部存储文件到数据库内。支持读取本地文件、HDFS、OSS、COS 和 S3 接口的文件。 使用前需先通过 CREATE LOCATION 创建 Location 对象，并在调用时指定 Location 名称与文件名。 语法 LOAD_FILE(…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# LOAD_FILE

更新时间：2026-06-19 14:18:11

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/200.common-tenant-of-mysql-mode/600.sql-statement-of-mysql-mode/5920.load-file-of-mysql-mode-in-sql.md)  

## 描述

`LOAD_FILE` 函数基于外表接口，本地读取外部存储文件到数据库内。支持读取本地文件、HDFS、OSS、COS 和 S3 接口的文件。

使用前需先通过 [CREATE LOCATION](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686076) 创建 Location 对象，并在调用时指定 Location 名称与文件名。

### 语法

```sql
LOAD_FILE(location_name, file_name)

```

参数说明：

| 参数 | 描述 | 类型 | 是否可空 |
| --- | --- | --- | --- |
| location_name | 外部存储文件的名称。 | VARCHAR(128) | Yes |
| file_name | 外部存储文件的文件名。 | VARCHAR(4096) | No |

如果 `location_name`、`file_name` 参数中有一个为 `NULL` 时，则输出为 `NULL`。

返回值：

- BLOB 类型的数据，外部存储文件的内容。

### 注意事项

#### 表达式类型与可见性

- 在 `SELECT` 列表等表达式上下文中调用时，与本文档中 `LOAD_FILE(location_name, file_name)` 的语义相同。
 - 不可用于生成列。

#### 错误与边界行为

| 场景 | 行为 |
| --- | --- |
| `location_name` 或 `file_name` 为空串 | 报错 `OB_INVALID_ARGUMENT`。 |
| Location 不存在 | 报错 `OB_LOCATION_OBJ_NOT_EXIST`。 |
| 当前会话对 Location 无读权限 | 报错（权限校验失败）。 |
| 文件不存在 | 报错 `OB_OBJECT_NAME_NOT_EXIST`。 |
| 文件大小为 0 | 报错 `OB_INVALID_DATA`（视为无效文件）。 |
| 文件大小超过 `document_ai_file_max_size` | 报错 `OB_NOT_SUPPORTED`。 |

#### 配置项与场景约束

`LOAD_FILE` 需通过配置项约束和场景约束来确保安全性和稳定性。

使用 `LOAD_FILE` 表达式读取外部文件时，受以下两个配置项共同约束，以保证外部文件大小可控。实际允许读取的最大文件大小为两者中的较小值，即 `有效最大文件大小 = min(max_allowed_packet, document_ai_file_max_size)`

具体配置项信息如下：

| 配置项 | 作用范围 | 默认值 | 取值范围 | 单位 | 说明 |
| --- | --- | --- | --- | --- | --- |
| [max_allowed_packet](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685173) | 全局网络包大小限制。 | 16,777,216（16 MB） | [1048576, 1073741824]（1 MB ~ 1 GB） | 字节（Byte） | 控制数据库与外部（包括客户端、其他 OceanBase 数据库节点等）所有交互数据包的最大大小。任何单次传输的数据（含 `LOAD_FILE` 读取的文件内容）不得超过此值。 |
| [document_ai_file_max_size](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685455) | `LOAD_FILE` 专用文件大小限制。 | 100 MB | [0, 500MB] | 字节（Byte） | 用于限制 `LOAD_FILE` 函数一次处理的文件最大大小，设为 `0` 表示禁止使用 `LOAD_FILE` 读取文件。 |

### 示例

1. 读取本地文件（<= 16MB）

   ```sql
   -- 配置 Location 路径
   CREATE OR REPLACE LOCATION local_data
   URL = 'file:///home/';

   -- 读取本地文件
   SELECT load_file('local_data', 'test_16MB.pdf');

   ```
 2. 读取本地文件（50MB）

   ```sql
   -- 配置 max_allowed_packet 大小为 100MB
   SET GLOBAL max_allowed_packet=104,857,600;

   -- 读取本地文件
   select load_file('load_file', 'test_50MB.pdf');

   ```
 3. 读取 OSS 文件

   ```sql
   CREATE LOCATION oss_t
   URL = 'oss://dir'
   CREDENTIAL = (
   ACCESSID = '123'
   ACCESSKEY = '456'
   HOST = '789'
   );
   -- 读取 OSS 文件
   SELECT load_file('oss_t', 'test_oss.pdf');

   ```
 4. 读取 HDFS 文件

   ```sql
   CREATE LOCATION hdfs_user
   URL = 'hdfs://namenode:8020/'
   CREDENTIAL (
   USER = 'hdfs_user_name'
   );
   -- 读取 HDFS 文件
   SELECT load_file('hdfs_user', 'test_hdfs.pdf');

   ```

## 相关文档

- 创建与管理 Location 对象，参见 [CREATE LOCATION](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686076)、[ALTER LOCATION](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686157)、[DROP LOCATION](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005686126)。
 - [document_ai_file_max_size](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685455)。
 - 与 AI 函数服务的配合使用，参见 [AI 函数服务概述](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005682094)。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
