Linux上的SQL Server使用bcp实用工具将数据批量复制到数据库表中

Linux上的SQL Server使用bcp实用工具将数据批量复制到数据库表中。

参考官方文档如下
https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-bcp?view=sql-server-ver16

1、本文内容

  • 安装 SQL Server 命令行工具
  • 使用 bcp 导入数据
  • 使用 bcp 导出数据
  • 相关内容

适用于:SQL Server - Linux

本文介绍如何使用 bcp 实用工具,参考官方文档如下
https://learn.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver16,

在 Linux 上的 SQL Server 实例和采用用户指定格式的数据文件之间批量复制数据。

可以使用 bcp 将许多行导入 SQL Server 表中,或将数据从 SQL Server 表导出到数据文件。 除非与 queryout 选项一起使用,否则 bcp 不需要 Transact-SQL 方面的知识。 bcp 命令行实用工具可用于在本地或云中、在 Linux、Windows 或 Docker 上以及在 Azure SQL 数据库和 Azure Synapse Analytics 中运行的 Microsoft SQL Server。

本文介绍如何:

  • 使用 bcp in 命令将数据导入表
  • 使用 bcp out 命令从表中导出数据

2、安装 SQL Server 命令行工具

bcp 是 SQL Server 命令行工具的一部分,不会随 Linux 上的 SQL Server 自动安装。 如果尚未在 Linux 计算机上安装 SQL Server 命令行工具,则必须先安装它们。 有关如何安装这些工具的详细信息,请从以下列表中选择 Linux 分发版:

Red Hat Enterprise Linux (RHEL)
https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-ver16&tabs=redhat-install#RHEL

通过安装命令行工具mssql-tools 包包含:

sqlcmd:命令行查询实用工具。
bcp:批量导入-导出实用工具。

https://learn.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/connect/odbc/linux-mac/connecting-with-bcp?view=sql-server-ver16

  • Available options -n
    -n
    使用数据的本机(数据库)数据类型执行大容量复制操作。
    -n
    Uses the native (database) data types of the data to do the bulk-copy operation.

  • Available options -Y
    -Y[s|m|o]
    指定连接加密模式。 选项有“严格”、“强制”和“可选”。 使用不带任何参数的 -Y 将使用强制加密模式,等效于 -Ym。 (从 bcp 版本 18 起提供)
    -Y[s|m|o]
    Specifies the connection encryption mode. The options are Strict, Mandatory, and Optional. Using -Y without any parameters uses the Mandatory encryption mode, and is equivalent to -Ym. (available since bcp version 18)

3、使用 bcp 导入数据

在本教程中,将在本地 SQL Server 实例 (localhost) 上创建示例数据库和表,然后使用 bcp 从磁盘上的文本文件加载到示例表。

3.1、创建示例数据库和表

首先创建一个具有简单表的示例数据库,本教程接下来会使用该数据库。

在 Linux 框中,打开命令终端。

将以下命令复制并粘贴到终端窗口中。 这些命令使用 sqlcmd 命令行实用工具在本地 SQL Server 实例 (superdb) 上创建示例数据库 (superdb) 和表 (T_Employees)。

运行命令前,请记得根据需要替换 username 和 <your_password>。

3.2、创建数据库 superdb:

sqlcmd -S localhost -U sa -P <your_password> -Q "CREATE DATABASE superdb;"

3.3、在数据库 superdb 中创建表 **T_Employees **:

sqlcmd -S localhost -U sa -P <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值