首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Exception SqlBulkCopy ColumnsMapping

Exception SqlBulkCopy ColumnsMapping
EN

Stack Overflow用户
提问于 2014-12-12 10:59:37
回答 1查看 104关注 0票数 0

我尝试过使用SqlBulkCopy在不同的数据库和模式之间迁移数据。这是sql命令get data from source database:

代码语言:javascript
复制
SELECT TOP 2000000 SUBSTRING(HANM002001,1,8) AS HANM002001,
               (HANM002004 +' '+HANM002005) AS HANM002004,
               HANM002007,
               '' AS col4,
               HANM002008,
               (HANM002009+' '+HANM002010) AS HANM002009,
               SUBSTRING(HANM002013,1,13) AS HANM002012,
               SUBSTRING(HANM002013,1,13) AS HANM002013,
               '' AS col9,
               0 AS col10,
               0 AS col11,
               HANM002027,
               HANM002030,
               HANM002033,
               '' AS col15,
               '' AS col16,
               '' AS col17,
               '' AS col18,
               '' AS col19,
               '' AS col20,
               '' AS col21,
               '' AS col22,
               '' AS col23,
               0 AS col24,
               0 AS col25,
               '' AS col26,
               HANM002INS

来自HAN07M002SHIIRE

下面是目标表模式:

代码语言:javascript
复制
CREATE TABLE [dbo].[mst仕入先](
[仕入先コード] [varchar](8) NOT NULL,
[仕入先名] [nvarchar](40) NULL,
[仕入先名カナ] [nvarchar](30) NULL,
[仕入先略称] [nvarchar](14) NULL,
[郵便番号] [varchar](10) NULL,
[住所] [nvarchar](100) NULL,
[電話番号] [varchar](13) NULL,
[FAX番号] [varchar](13) NULL,
[担当者コード] [varchar](6) NULL,
[税計算区分] [smallint] NULL,
[端数区分] [smallint] NULL,
[締日] [smallint] NULL,
[入金日] [smallint] NULL,
[入金サイクル] [smallint] NULL,
[銀行コード] [varchar](4) NULL,
[支店コード] [varchar](3) NULL,
[口座番号] [varchar](7) NULL,
[受取人名] [nvarchar](30) NULL,
[業者コード] [varchar](6) NULL,
[買掛仕入コード] [varchar](6) NULL,
[買掛経費コード] [varchar](6) NULL,
[現金コード] [varchar](6) NULL,
[表示区分] [smallint] NULL,
[削除フラグ] [smallint] NULL,
[更新者] [varchar](2) NULL,
[更新日] [datetime] NULL,

主键在主键上(PAD_INDEX = OFF,STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF,ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON)在主键上的群集(仕入先コードASC )

下面是代码映射:

代码语言:javascript
复制
Using sqlCopy As SqlBulkCopy = New SqlBulkCopy(destinationConnection.ConnectionString)
                    sqlCopy.ColumnMappings.Add("HANM002001", "仕入先コード")
                    sqlCopy.ColumnMappings.Add("HANM002004", "仕入先名")
                    sqlCopy.ColumnMappings.Add("HANM002007", "仕入先名カナ")
                    sqlCopy.ColumnMappings.Add("col4", "仕入先略称")
                    sqlCopy.ColumnMappings.Add("HANM002008", "郵便番号")
                    sqlCopy.ColumnMappings.Add("HANM002009", "住所")
                    sqlCopy.ColumnMappings.Add("HANM002012", "電話番号")
                    sqlCopy.ColumnMappings.Add("HANM002013", "FAX番号")
                    sqlCopy.ColumnMappings.Add("col9", "担当者コード")
                    sqlCopy.ColumnMappings.Add("col10", "税計算区分")
                    sqlCopy.ColumnMappings.Add("col11", "端数区分")
                    sqlCopy.ColumnMappings.Add("HANM002027", "締日")
                    sqlCopy.ColumnMappings.Add("HANM002030", "入金日")
                    sqlCopy.ColumnMappings.Add("HANM002033", "入金サイクル")
                    sqlCopy.ColumnMappings.Add("col15", "銀行コード")
                    sqlCopy.ColumnMappings.Add("col16", "支店コード")
                    sqlCopy.ColumnMappings.Add("col17", "預金種目")
                    sqlCopy.ColumnMappings.Add("col18", "口座番号")
                    sqlCopy.ColumnMappings.Add("col19", "受取人名")
                    sqlCopy.ColumnMappings.Add("col20", "業者コード")
                    sqlCopy.ColumnMappings.Add("col21", "買掛仕入コード")
                    sqlCopy.ColumnMappings.Add("col22", "買掛経費コード")
                    sqlCopy.ColumnMappings.Add("col23", "現金コード")
                    sqlCopy.ColumnMappings.Add("col24", "表示区分")
                    sqlCopy.ColumnMappings.Add("col25", "削除フラグ")
                    sqlCopy.ColumnMappings.Add("col26", "更新者")
                    sqlCopy.ColumnMappings.Add("HANM002INS", "更新日")
                    'sqlCopy.NotifyAfter = importTbl.Rows.Count
                    sqlCopy.DestinationTableName = Constant.ShiiresakiMst
                    sqlCopy.BulkCopyTimeout = 0
                    sqlCopy.WriteToServer(sourceReader)
                End Using

但是抛出异常:给定的ColumnMapping与源或目标中的任何列都不匹配。

请帮帮忙。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-12-12 18:29:08

目标表只有26列,但您在列映射中提到了27列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27436141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档