text - BCP 意外字符串数据,右截断
问题描述
尝试将数据导入 Azure。创建了一个文本文件并尝试了逗号和制表符分隔的文本文件。
这是要插入文本文件的表格:
CREATE TABLE [dbo].[Test] (
[Id] [uniqueidentifier] NOT NULL,
[first_name] [varchar] (50),
[last_name] [varchar] (50),
[dob] [varchar] (10),
[gender] [char] (1),
[phone] [char] (10))
C:\Test.txt 中的 BCP dbo.Test -S “DBServerName” -d “DBName” -U “UserName” -P “Password” -c -r/r
尝试以不同的格式和不同的编码保存文本文件,但相信将其作为 UTF-16 和 UNIX LF 是正确的。有什么想法吗?此外,如果数据中有空值(不包括 Id 字段),是否需要在 BCP 语句中以某种方式指定?谢谢!
解决方案
我想你可以参考这个文档:Import data into Azure SQL Database with BCP Utility。本教程讨论将数据从 CSV 加载到 Azure SQL 数据库(平面文件)。
从文档中,我们可以得到:
1. 您的数据文件需要使用 ASCII 或 UTF-16 编码。
2. BCP 不支持 UTF-8。
此外,您还可以参考Format Files for Importing or Exporting Data。
我有一个文本数据文件,其中一列为空。
然后我将此文件导入我的 Azure SQL 数据库 dbleon1 并没有指定任何其他内容并成功。
我的 bcp 代码:
bcp tb1 in C:\Users\leony\Desktop\tb1.txt -S *****.database.windows.net -d dbleon1 -U ServerAdmin -P ***** -q -c -t
希望这可以帮助。
推荐阅读
- xml - 全文链接即将到来
- null - 如何理解 GraphQL 中的空边和节点
- vue.js - 在 Vue 测试中使用 Jest 调用方法
- php - 使用 Ajax 在下拉列表中显示与城市关联的地址
- php - 循环由关联数组组成的数组
- javascript - 为什么 new Date('2015-07-01 01:00:00+00:00') 适用于 chrome 但不适用于 safari?
- python - 根据每行前一行中的值更新熊猫数据框当前行属性
- h.264 - 如何将切片分离为多个切片h264流中的独立帧?
- java - 如何仅替换列表的第一个元素
使用 java 流而不对列表的其余部分进行任何更改? - git - 将 GitLab 6.72 服务器迁移到 Gitlab 12.1.6 服务器