bcp导入文本文件时遇到的问题 你的用户名格式错了LMBE-DATABASE\lmbesnp 表示你是用LMBE-DATABASE这个window域的lmbesnp帐户登陆(window 身份验证),但是你用-U 表示SQL Server身份验证.坦然就登录失败。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S LMBE-DATABASE-U"lmbesnp" -P"lmbesnp" F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S LMBE-DATABASE -U"LMBE-DATABASE\lmbesnp" -P"lmbesnp"'LMBE-DATABASE\lmbesnp' 登录失败,試試F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S LMBE-DATABASE-U"lmbesnp" -P"lmbesnp" --这样写就行了:F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S"LMBE-DATABASE" -P"" --参考我的存储过程/*--实现数据导入/导出的存储过程 可以实现导入/导出 指定表 到文本文件邹建 2003.07-----------------*//*--调用示例导出调用示例--导出指定表,这里指定导出表:地区资料exec file2table 'zj','','','c:\zj.txt','xzkh_new..地区资料'导入调用示例--导入指定表,这里指定导入表:地区资料exec file2table 'zj','','','c:\zj.txt','xzkh_sa..地区资料',0--*/if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1) drop procedure File2Tablegocreate procedure File2Table@servername varchar(200) --服务器名,@username varchar(200) --用户名,如果用NT验证方式,则为空'',@password varchar(200) --密码,@filename varchar(1000) --目录名+文件名,@tbname varchar(500)='' --数据库..表名,@isout bit=1 --1为导出(默认),0为导入asdeclare @sql varchar(8000)set @sql='bcp "'+@tbname +case when @isout=1 then '" out' else '" in' end +' "'+@filename+'" /c' +' /S"'+@servername +case when isnull(@username,'')='' then '' else '" /U"'+@username end +'" /P"'+isnull(@password,'')+'"'exec master..xp_cmdshell @sqlgo 用zjcxc(邹建) 兄的方法可行,已经登陆上。 用F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S LMBE-DATABASE-U"lmbesnp" -P"lmbesnp"这种方法不行,提示错误一样。不过这里遇到一个新问题,用邹建兄的 F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S"LMBE-DATABASE" -P""时系统提示:开始复制...SQLState = 22003, NativeError = 0Error = [Microsoft][ODBC SQL Server Driver]数值超出范围已复制了 0 行。数据包的大小(字节): 4096时钟时间(毫秒): 共 1这个问题怎么解决呢? 我在查询器中用 bulk insert命令是可以导入的, 那时用的是bulk insert RepMaskClassID from 'F:\snpdbdata\data\RepMaskClassID.bcp' with ( fieldterminator = '\t' ,rowterminator='0X0A' ,BATCHSIZE=50000 ,CHECK_CONSTRAINTS ,MAXERRORS=1 )但是由于我要同时倒入大批文本文件到数据库的不同表中,所以我想用dos命令行批处理方式解决,此时我只能求助于bcp函数。 我就是想问bcp命令的那个 -f开关怎么用,如何设置行分隔符,因为我的文本文件都是unix格式也就是用0A而不是0D0A分隔行 bcp中用:-t field_term指定字段终止符。默认的字段终止符是 \t(制表符)。使用此参数替代默认字段终止符。-r row_term指定行终止符。默认的行终止符是 \n(换行符)。使用此参数替代默认行终止符。 楼主或者发一个文件过来,我帮你没一下.[email protected] 如果是本地:bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S .-U"lmbesnp" -P"lmbesnp"我认为是的的机器名有问题“-”不合法! 这样的SQL语句要怎么写 对了,请教一个问题,如果在数据库里有同样caigoudanhao的数据N个,但我只想显示一个怎么办? 并且要返回2个字段。 远程数据库问题(sqlserver 2005) 怎样去空格 画关系图 (ER图)大家用什么软件做的? 怎样检查临时表,是否存在??? 怎么让Identity初始值恢得为1 高分请教一个查询语句,谢谢。 在 DAO 编程中 LIKE 查询语句为何无效? ? 求助 数据库作业 任务 银行储蓄管理系统的数据库设计与实现 一个数据库已快达2G了,慢得很,有什么方法要它快一点。 怎样写这条SQL语句
-U"lmbesnp" -P"lmbesnp"
-U"LMBE-DATABASE\lmbesnp" -P"lmbesnp"
'LMBE-DATABASE\lmbesnp' 登录失败,試試
F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S LMBE-DATABASE
-U"lmbesnp" -P"lmbesnp"
导出调用示例
--导出指定表,这里指定导出表:地区资料
exec file2table 'zj','','','c:\zj.txt','xzkh_new..地区资料'导入调用示例
--导入指定表,这里指定导入表:地区资料
exec file2table 'zj','','','c:\zj.txt','xzkh_sa..地区资料',0
--*/if exists(select 1 from sysobjects where name='File2Table' and objectproperty(id,'IsProcedure')=1)
drop procedure File2Table
gocreate procedure File2Table
@servername varchar(200) --服务器名
,@username varchar(200) --用户名,如果用NT验证方式,则为空''
,@password varchar(200) --密码
,@filename varchar(1000) --目录名+文件名
,@tbname varchar(500)='' --数据库..表名
,@isout bit=1 --1为导出(默认),0为导入
as
declare @sql varchar(8000)set @sql='bcp "'+@tbname
+case when @isout=1 then '" out' else '" in' end
+' "'+@filename+'" /c' +' /S"'+@servername
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')+'"'
exec master..xp_cmdshell @sql
go
-U"lmbesnp" -P"lmbesnp"这种方法不行,提示错误一样。不过这里遇到一个新问题,用邹建兄的 F:\tools>bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S"LMBE-DATABASE" -P""
时系统提示:开始复制...
SQLState = 22003, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]数值超出范围已复制了 0 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 1这个问题怎么解决呢? 我在查询器中用 bulk insert命令是可以导入的, 那时用的是
bulk insert RepMaskClassID from 'F:\snpdbdata\data\RepMaskClassID.bcp'
with ( fieldterminator = '\t'
,rowterminator='0X0A'
,BATCHSIZE=50000
,CHECK_CONSTRAINTS
,MAXERRORS=1 )
但是由于我要同时倒入大批文本文件到数据库的不同表中,所以我想用dos命令行批处理方式解决,此时我只能求助于bcp函数。
[email protected]
bcp "lmbesnp..RepMaskClassID" IN "F:\snpdbdata\data\RepMaskClassID.bcp" -c -C936 -S .-U"lmbesnp" -P"lmbesnp"我认为是的的机器名有问题“-”不合法!