BCP导入数据问题

sxssg 2012-01-08 12:47:34
EXEC master..xp_cmdshell 'bcp test.dbo.book1 in D:\test\2010-3-2.txt -t"\t"  -c  -S"127.0.0.1" -U"sa" -P"30687724"'


数据库表《bcp test.dbo.book1》的数据类型全部为“VARCHAR(50)” 就上面的语句是可以执行导入的!

因为我考虑到数据入库后需要计算,我就把原表《bcp test.dbo.book1》的部分列的数据类型改为“date”、“INT”时就不能导入了,提示如下:
麻烦帮下,在线等,谢谢!!


NULL
开始复制...
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
SQLState = 22005, NativeError = 0
Error = [Microsoft][SQL Server Native Client 10.0]对于造型说明无效的字符值
NULL
BCP 复制 in 失败
NULL

...全文
349 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vidor 2012-01-10
  • 打赏
  • 举报
回复
2010-3-2.txt 给出前3行,test.dbo.book1 给出表结构。
另一个帖子同样。
sxssg 2012-01-10
  • 打赏
  • 举报
回复
继续等..............
sxssg 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 vidor 的回复:]
引用 9 楼 sxssg 的回复:

引用 7 楼 vidor 的回复:
2010-3-2.txt 给出前3行,test.dbo.book1 给出表结构。
另一个帖子同样。

XML code
日期 时间 CGI BSC TCH话务量 Sdcch话务量 SDCCH试呼总次数 SDCCH溢出总次数 无线接通率 话音溢出总次数(含切换) 话音信道试呼总次数(含切换) ……


出错……
[/Quote]

第一行我是删了的哈。。。用BCP还是不行的
sxssg 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ap0405140 的回复:]
用bulk insert导入即可,以前5列数据为例,

SQL code

-- 建导入的文件D:\0110.txt 内容:
日期 时间 CGI BSC TCH话务量
2010-3-3 0 460-00-32808-39011 BSC07 4.240695953
2010-3-3 0 460-00-32808-39012 ……
[/Quote]

谢谢,我测试 一下。
Vidor 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sxssg 的回复:]

引用 7 楼 vidor 的回复:
2010-3-2.txt 给出前3行,test.dbo.book1 给出表结构。
另一个帖子同样。

XML code
日期 时间 CGI BSC TCH话务量 Sdcch话务量 SDCCH试呼总次数 SDCCH溢出总次数 无线接通率 话音溢出总次数(含切换) 话音信道试呼总次数(含切换) ……
[/Quote]

出错是因为标题行,全部是字符怎么可能转换为int、datetime……,解决方法楼上以给出。。

BCP没有类似firstrow参数,如一定要BCP,请删掉第一行。

openrowset(bulk formatfile)也有firstrow参数控制。
唐诗三百首 2012-01-10
  • 打赏
  • 举报
回复
用bulk insert导入即可,以前5列数据为例,

-- 建导入的文件D:\0110.txt 内容:
日期 时间 CGI BSC TCH话务量
2010-3-3 0 460-00-32808-39011 BSC07 4.240695953
2010-3-3 0 460-00-32808-39012 BSC07 2.32038331

-- 建测试表
create table book1
(a date,b int,c varchar(20), d varchar(10), e decimal(10,7))

-- bulk insert导入
bulk insert DBAP.dbo.book1
from 'D:\0110.txt'
with
( FIELDTERMINATOR =' ', -- 分隔符
ROWTERMINATOR ='\n',
KILOBYTES_PER_BATCH=5000,
firstrow=2
)

select * from book1

a b c d e
---------- ----------- -------------------- ---------- ---------------------------------------
2010-03-03 0 460-00-32808-39011 BSC07 4.2406960
2010-03-03 0 460-00-32808-39012 BSC07 2.3203833

(2 row(s) affected)
sxssg 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 kingtiy 的回复:]
用datetime类型吧.
[/Quote]

什么类型都不行,只能有
VARCHAR()
sxssg 2012-01-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 vidor 的回复:]
2010-3-2.txt 给出前3行,test.dbo.book1 给出表结构。
另一个帖子同样。
[/Quote]
日期	时间	CGI	BSC	TCH话务量	Sdcch话务量	SDCCH试呼总次数	SDCCH溢出总次数	无线接通率	话音溢出总次数(含切换)	话音信道试呼总次数(含切换)	话音溢出总次数(不含切换)	话音信道试呼总次数(不含切换)
2010-3-3 0 460-00-32808-39011 BSC07 4.240695953 1.903491497 1852 0 100.00% 0 451 0 91
2010-3-3 0 460-00-32808-39012 BSC07 2.32038331 0.691454172 714 0 100.00% 0 230 0 39


系统内部与2010-3-2.txt结构是一样的

kingtiy 2012-01-10
  • 打赏
  • 举报
回复
用datetime类型吧.
sxssg 2012-01-09
  • 打赏
  • 举报
回复
继续等..............
sxssg 2012-01-08
  • 打赏
  • 举报
回复
真没有其它方法可以解决了吗???????????????????
yhnujm##33 2012-01-08
  • 打赏
  • 举报
回复
alter table 表名 alter column 列名 新的数据类型
sxssg 2012-01-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gggscfaii 的回复:]
导入之后,改为INT型
[/Quote]

如果导入后在改,数据量很大,有1000多万行,改起来非常慢!
另外问一下:

用SQL语句可以改列数据类型!!!怎么写?
yhnujm##33 2012-01-08
  • 打赏
  • 举报
回复
导入之后,改为INT型

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧