前言

sys_bulkload 常见场景是本地导入数据,也可以在远程运行 sys_bulkload ,对数据库上的CSV 文件进行导入。远程导入数据时候需要注意,csv文件和ctl文件所在服务器。以下举例展示整个远程导入的过程。

测试环境V8R6C7

演示目的将数据从 IP2 所在服务器导入到IP3远程服务器上。
IP3服务器上操作:
测试前创建扩展插件
create extention sys_bulkload; 创建测试表
create table testu(id int primary key, info text, crt_time timestamp); 在IP3服务器上创建ctl文件,/home/kingbase7/ 目录为IP3服务器kingbase用户家目录。
vi test.ctl TABLE = testu
INPUT = /home/kingbase7/test.csv
TYPE = CSV
SKIP = 2
LIMIT = 5
WRITER = BUFFERED
PROCESSOR_COUNT = 3 创建数据源
vi test.csv 1,29b35ff06c949e7e442c929e1df86396,2017-10-08 10:52:47.746062
2,06fde814525395de5ab85f6d92b04e87,2017-10-08 10:52:47.746573
3,c93f02e8677c9cd7c906c6ad5dbd450e,2017-10-08 10:52:47.746627
4,6541700070ae3d051f965fcef43baf45,2017-10-08 10:52:47.746835
5,3d7e7246016acaa842526b6614d0edf5,2017-10-08 10:52:47.746869 将test.ctl 移动到IP2远程服务器上,注意这里不需要将csv文件移动到IP2服务器上,因为input记录的csv文件位置在IP3服务器上的kingbase7目录下
scp -r /home/kingbase7/test.ctl kingbase@192.168.56.2:/home/kingbase/ **在 IP2远程服务器上执行sys_bulkload导入命令。注意ctl文件一定确保存在IP2服务器上,csv文件一定确保在IP3 服务器上。**否则报错找不到文件或目录
[kingbase@localhost ~]$ sys_bulkload -h 192.168.56.3 -d TEST /home/kingbase/test.ctl -U SYSTEM -W 123456 -p 2907
NOTICE: BULK LOAD START
NOTICE: BULK LOAD START
NOTICE: BULK LOAD START
NOTICE: BULK LOAD END
3 Rows skipped.
1 Rows successfully loaded.
0 Rows not loaded due to parse errors.
0 Rows not loaded due to duplicate errors.
0 Rows replaced with new rows.
log path: testu.log
parse error path: /home/kingbase7/test.bad
duplicate error path: /home/kingbase7/test.dupbad
ctrl file path: /home/kingbase/test.ctl
data file path: /home/kingbase7/test.csv
Run began on 2023-03-10 14:21:48.033174+08
Run ended on 2023-03-10 14:21:48.033661+08
NOTICE: BULK LOAD END
2 Rows skipped.
1 Rows successfully loaded.
0 Rows not loaded due to parse errors.
0 Rows not loaded due to duplicate errors.
0 Rows replaced with new rows.
log path: testu.log
parse error path: /home/kingbase7/test.bad
duplicate error path: /home/kingbase7/test.dupbad
ctrl file path: /home/kingbase/test.ctl
data file path: /home/kingbase7/test.csv
Run began on 2023-03-10 14:21:48.035869+08
Run ended on 2023-03-10 14:21:48.036169+08
NOTICE: BULK LOAD END
4 Rows skipped.
1 Rows successfully loaded.
0 Rows not loaded due to parse errors.
0 Rows not loaded due to duplicate errors.
0 Rows replaced with new rows.
log path: testu.log
parse error path: /home/kingbase7/test.bad
duplicate error path: /home/kingbase7/test.dupbad
ctrl file path: /home/kingbase/test.ctl
data file path: /home/kingbase7/test.csv
Run began on 2023-03-10 14:21:48.034591+08
Run ended on 2023-03-10 14:21:48.035150+08 在.3服务器上查询,数据导入完成。之前设置的skip表示跳过前两行数据。
TEST=# select * from testu;
id | info | crt_time
----+----------------------------------+----------------------------
4 | 6541700070ae3d051f965fcef43baf45 | 2017-10-08 10:52:47.746835
5 | 3d7e7246016acaa842526b6614d0edf5 | 2017-10-08 10:52:47.746869
3 | c93f02e8677c9cd7c906c6ad5dbd450e | 2017-10-08 10:52:47.746627
(3 rows)

总结

使用sys_bulkload远程导入时候,需要将ctl文件放在远程服务器上,csv数据文件放在需要导入的目标数据库所在服务器上。

KingbaseES 使用sys_bulkload远程导入的更多相关文章

  1. Oracle使用imp/exop远程导入导出dmp数据

    在导入导出数据之前,习惯性的检查一下,看看我们自己的机器可不可以连接远程的Oracle主机,检测方法是tnsping SERVICE_NAME.我的机器如下: C:\Users\zx>tnspi ...

  2. oracle 远程导入导出(本地win)

    导出 exp hongtastock_account/hongtastock_account@192.168.1.22/orcl file=D:\hongta\hongtastock_account. ...

  3. MySql导入导出数据库(含远程导入导出)

    一.导入导出本地数据库    导出: 1.先运行cmd,cd 到mysql安装目录中的bin文件夹 2.mysqldump -u root -p 数据库名 > 导出文件名.sql 其他情况下: ...

  4. 深入探讨 Python 的 import 机制:实现远程导入模块

        深入探讨 Python 的 import 机制:实现远程导入模块 所谓的模块导入( import ),是指在一个模块中使用另一个模块的代码的操作,它有利于代码的复用. 在 Python 中使用 ...

  5. ORACLE 远程导入导出数据库

      Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中. ...

  6. 关于sqlserver 2008 远程导入表数据

    /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver   'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' ex ...

  7. VisualGDB系列6:远程导入Linux项目到VS中

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何将Linux机器上的Linu ...

  8. Oracle数据泵远程导入文件到本地数据库

    --以dba身份登录 C:\Users\Administrator>sqlplus / as sysdba --创建用户 SQL> create user bfzg0828 identif ...

  9. Oracle数据库本地和远程导入、导出

    exp本地导出与imp本地导入 exp命令: 1 exp username/psw@TEST file=d:test.dmp full=y 2 exp username/psw@TEST file=d ...

  10. 【EXPDP】expdp/impdp数据泵远程导入导出

    Oracle在10g的时候有一个很好用的导出工具expdp(数据泵) 但是这个工具好用的同时,有一个局限,就是必须用本地的用户才可以导出数据,也就是说数据泵只能导出本地数据库的数据 但是如果业务需求是 ...

随机推荐

  1. Java设计模式-外观模式Facade

    介绍 外观模式(Facade),也叫"过程模式:外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用 外观模式通过定义一个一致的接口, ...

  2. G water testing题解

    G water testing 题意:给你一个多边形(可能是凸多边形,也可能是凹多边形),问该多边形内有多少个整数点(不包含边界). 思路:皮克定理 + 叉乘计算三角形面积:皮克定理是指一个计算点阵中 ...

  3. VS2019 添加三方文件夹遇到的坑

    在开发新项目时需要用到一些三方 API,这些三方 API 没有生成 lib,所以我们在 VS 编译器中添加这些三方文件夹的头文件路径后 会出现 ERROR LNK2019 的错误提示,这些提示通常都是 ...

  4. Miniconda安装和使用

    Miniconda概述 Miniconda是什么? 要解释Miniconda是什么,先要弄清楚什么是Anaconda,它们之间的关系是什么? 而要知道Anaconda是什么,最先要明白的是搞清楚什么是 ...

  5. 如何快速使用LayUI MINI框架

    是什么 LayUI MINI是基于LayUI框架开发的一套最简洁.易用的后台框架模板,它已经是一个非常完整的脚手架,有现成的页面模板可以参考甚至是直接使用. 通常来说,如果我们准备开发一套管理系统的W ...

  6. 搭建Windows环境下的多功能免费SSH客户端

    关于Windows下的SSH客户端工具,可以有许多选择,从开源免费到商业收费的,零零总总. 免费版: Putty就是最简单的SSH客户端,非常轻量级. Electerm是一个开源可免费使用的跨平台SS ...

  7. .NET周刊【2月第3期 2024-02-25】

    国内文章 4.1k Star!全面的C#/.NET/.NET Core学习.工作.面试指南 https://www.cnblogs.com/Can-daydayup/p/18027117 DotNet ...

  8. 前后端分离解决跨域cors问题

    修改windows的hosts文件 vim C:\Windows\System32\drivers\etc\hosts 添加域名 前端:www.luffycity.cn 后端:api.luffycit ...

  9. 初始pyqt5

    开发pyqt5桌面应用 必须使用两个类:QApplication和QWidget.都在PyQt5.QtWidgets中 安装 pip install pyqt5 -i https://pypi.dou ...

  10. Gitlab 16.9.0 用Access Token注册Gitlab Runner

    升级到当前最新版Gitlab之后 在"管理中心"的"CI/CD"--"Runners"下,提示以前的那种注册令牌的方式已经过时了. 点击右上 ...