gpt4 book ai didi

sql - BCP 不复制所有行

转载 作者:行者123 更新时间:2023-12-04 12:26:45 27 4
gpt4 key购买 nike

我正在使用 BCP 将行导入 SQL 服务器。当我意识到 BCP 不是随机导入所有行时,一切似乎都正常。一些数据被跳过(有时是 50%)。 BCP 过程没有返回任何错误。它说成功复制了 X 行。

BCP 命令和输出:

bcp MyTable IN MyTable_final.dat -f MyTable.Fmt -S <ServerIP> -U <User> -P <Pwd> -F2

输出:
Starting copy...
6 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 63 Average : (95.24 rows per sec.)

表的 SQLSERVER 架构:
CREATE TABLE MyTable (
Type varchar(255) default NULL,
Date varchar(255) default NULL,
ID varchar(255) default NULL,
VID varchar(255) default NULL,
VName varchar(255) default NULL,
LDate varchar(225) default NULL,
id BIGINT IDENTITY(1,1) NOT NULL,
PRIMARY KEY (id) ,
CONSTRAINT d_v UNIQUE (VID, VName)
) ;

正在使用的 BCP 格式文件:
11.0
7
1 SQLCHAR 0 255 "|" 1 Type SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 255 "|" 2 Date SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 255 "|" 3 ID SQL_Latin1_General_CP1_CI_AS
4 SQLCHAR 0 255 "|" 4 VID SQL_Latin1_General_CP1_CI_AS
5 SQLCHAR 0 255 "|" 5 VName SQL_Latin1_General_CP1_CI_AS
6 SQLCHAR 0 225 "|" 6 LDate SQL_Latin1_General_CP1_CI_AS
7 SQLCHAR 0 21 "\r\n" 7 id ""

实际数据集:您可以看到文件中当前有 13 行。但是,就我而言,只有 6 行是随机导入的,没有任何错误痕迹。

Data File

我一直无法弄清楚发生了什么。任何指针来捕获丢失的行并防止它?

最佳答案

当您拥有自动递增的 ID 时,就会发生这种情况。所以按照我的想法

  • 创建一个没有表的 ID 字段的 View
  • 在 View 中插入数据

  • 例如
    CREATE TABLE DIM_Vitals (
    QueryType varchar(255) default NULL,
    QueryDate varchar(255) default NULL,
    APUID varchar(255) default NULL,
    VitalID varchar(255) default NULL,
    VitalName varchar(255) default NULL,
    LoadDate varchar(225) default NULL,
    id BIGINT IDENTITY(1,1) NOT NULL,
    PRIMARY KEY (id) ,
    CONSTRAINT dim_v UNIQUE (VitalID, VitalName)
    ) ;

    为上表创建一个 View
       create view DIM_Vitals_view 
    as
    select
    QueryType,
    QueryDate,
    APUID,
    VitalID,
    VitalName,
    LoadDate
    from DIM_Vitals

    现在将数据插入 View [DIM_Vitals_view - View 名称]
    bcp DIM_Vitals_view  IN DIM_Vitals_final.dat -f DIM_Vitals.Fmt -S <ServerIP> -U <User> -P <Pwd> -F2

    肯定会解决问题

    确保您的 View 没有 id 字段

    关于sql - BCP 不复制所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20683116/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com