如何将CSV文件导入Exasol数据库表?附操作脚本示例
导入CSV文件到Exasol数据库的操作方案
我整理了一套适配Exasol数据库的本地CSV导入脚本,结合你的需求做了详细注释和说明,你可以根据实际场景调整参数直接复用:
脚本核心逻辑说明
这套脚本分为四个关键步骤,确保CSV数据能精准匹配并导入到目标表:
- 会话参数配置:统一日期、时间戳的解析规则,避免因本地化设置导致的数据格式错误
- 清空目标表:导入前截断表内原有数据(如果需要保留历史数据,直接注释此行即可)
- 文件路径变量定义:通过变量管理文件目录,后续修改维护更便捷
- 执行导入命令:指定目标表、CSV文件路径及格式参数,完全匹配你的文件结构
完整操作脚本
-- 配置会话级日期/时间戳格式,确保日期类数据正确解析 ALTER SESSION SET NLS_DATE_FORMAT= 'DD-MM-YYYY'; ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'DD-MM-YYYY HH24:MI:SS.FF3'; ALTER SESSION SET NLS_DATE_LANGUAGE='ENG'; -- 清空目标表数据(不需要覆盖数据请注释此行) TRUNCATE TABLE &1..&2; -- 定义CSV文件所在的本地目录 DEFINE fileDir = './Input/'; -- 执行本地CSV导入操作 IMPORT INTO &1..&2 FROM LOCAL CSV FILE '&fileDir&3' ENCODING = 'ISO-8859-15' --ROW SEPARATOR = 'CRLF' -- 若CSV使用特殊换行符,取消注释并修改对应值 COLUMN SEPARATOR = '|' -- CSV文件的列分隔符,这里为竖线,按需调整 --COLUMN DELIMITER = '' -- 若列内容有包裹字符(如双引号),在此设置对应符号 SKIP = 1; -- 若CSV包含表头行,设置跳过行数,默认值为0(根据你的文件修改)
变量参数说明
脚本中的占位符需要替换为你的实际信息:
&1:目标表所在的模式名(Schema Name)&2:目标表名(Table Name)&3:CSV文件的完整文件名(含后缀,例如data.csv)fileDir:CSV文件存放的本地目录,确保执行脚本的客户端有权限访问该路径
如果你的CSV有特殊格式(比如自定义换行符、列包裹符),只需取消对应行的注释并调整参数值即可。
内容的提问来源于stack exchange,提问作者Squeez




