日期:2014-05-18  浏览次数:20763 次

BULK INSERT发生大容量插入数据转换错误(类型不匹配),急求解决办法!!!
Ltest表结构:
CREATE   TABLE   [dbo].[Ltest]   (
[record_id]   [int]   IDENTITY   (1,   1)   NOT   NULL   ,
[Tran_acc]   [char]   (19)   COLLATE   Chinese_PRC_CI_AS   NULL   ,
[Tran_amt]   [numeric](12,   2)   NULL  
)  

************************************************
sql:

BULK       INSERT       dbo.[Ltest]      
                FROM       'f:\test.txt '      
                WITH          
                            (      
                                        FIELDTERMINATOR       =       '| ',      
                                        ROWTERMINATOR       =       '|\n '      
                            )      

*************************************************
test.txt:
1|6222222222|10.00|
2|6222222223|20.11|
******************************************
系统提示:
服务器:   消息   4864,级别   16,状态   1,行   1
第   2   行、第   3   列(Tran_amt)发生大容量插入数据转换错误(类型不匹配)。

------解决方案--------------------
去掉IDENTITY试试
------解决方案--------------------
CREATE TABLE [dbo].[Ltest] (
[record_id] [int] IDENTITY (1, 1) NOT NULL ,
[Tran_acc] [char] (19) COLLATE Chinese_PRC_CI_AS NULL ,
[Tran_amt] [numeric](12, 2) NULL
)

这个列的IDENTITY 属性去掉
[record_id] [int] IDENTITY (1, 1) NOT NULL ,