社区
MS-SQL Server
帖子详情
仍然是BCP,求大神
rainychan2009
2010-12-29 07:34:11
我们的系统遇到一个问题就是,有很多条数据,通常是上万,如果用普通的SQL,循环插入效率跟不上,因此想用BCP的方式插入数据,但是现在的问题是:
1.我在本地在“运行”中可以正常的写
2.用程序的方式在本地计算机可以正常的朝服务器上的SQL写
3.在服务器上“运行”中可以正常的写
但是,在服务器上涌程序就有问题:cmd的窗口弹出来一下子,然后就自动关闭了,但是数据却没有能写进去,不知道是什么原因
...全文
114
22
打赏
收藏
仍然是BCP,求大神
我们的系统遇到一个问题就是,有很多条数据,通常是上万,如果用普通的SQL,循环插入效率跟不上,因此想用BCP的方式插入数据,但是现在的问题是: 1.我在本地在“运行”中可以正常的写 2.用程序的方式在本地计算机可以正常的朝服务器上的SQL写 3.在服务器上“运行”中可以正常的写 但是,在服务器上涌程序就有问题:cmd的窗口弹出来一下子,然后就自动关闭了,但是数据却没有能写进去,不知道是什么原因
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rainychan2009
2011-01-01
打赏
举报
回复
小小用了下BCP,发现了很多的问题,如果以后大家以后用BCP遇到问题的话,就查我的帖子哈,分数有限,每个人都分点,呵呵!
rainychan2009
2011-01-01
打赏
举报
回复
[Quote=引用 18 楼 andkylee 的回复:]
引用 11 楼 billpu 的回复:
不太清楚你的程序是怎么调用的
试试把bcp.exe和bcp.rll copy到你的程序同一个目录下看看
哥们搞sql2000比较熟吧。 sql2005 还有sql2008这样行?
[/Quote]
行的
rainychan2009
2011-01-01
打赏
举报
回复
谢谢各位,后来发现是因为命令行中是用空格来解析命令和参数的,但是我很悲剧的是把要上传的文本放在了C盘的C:\Program Files\...
后来发现需要加双引号来来解决这个问题,谢谢各位了!
guguda2008
2010-12-31
打赏
举报
回复
用System.Data.SqlClient下的SqlBulkCopy类就可以了,我现在写大数据加载的就是用这个。BCP更多用来做临时的数据转移。
关于你现在问题,推测是权限不够之类 的,加个readline,看看输出的是什么报错信息吧。
Sybase数据库恢复
2010-12-31
打赏
举报
回复
[Quote=引用 11 楼 billpu 的回复:]
不太清楚你的程序是怎么调用的
试试把bcp.exe和bcp.rll copy到你的程序同一个目录下看看
[/Quote]
哥们搞sql2000比较熟吧。 sql2005 还有sql2008这样行?
yyfhz
2010-12-30
打赏
举报
回复
记得Vista下面跑很多程序都得 右键=>"以管理员身份运行", 不知道2003对外部安装的程序是否也有类似的权限限定。
王向飞
2010-12-30
打赏
举报
回复
打开cmd
把你的bat
拖进DOS命令下,看看怎么执行的
kevin_long
2010-12-30
打赏
举报
回复
把bcp.exe和bcp.rll copy到你的程序同一个目录下
sunstarduo
2010-12-30
打赏
举报
回复
加pause看下有什么报错信息
-晴天
2010-12-29
打赏
举报
回复
远程连接,即席远程查询,xp_cmdshell这三项服务都得打开.
-晴天
2010-12-29
打赏
举报
回复
远程服务打开了吗?
billpu
2010-12-29
打赏
举报
回复
不太清楚你的程序是怎么调用的
试试把bcp.exe和bcp.rll copy到你的程序同一个目录下看看
rainychan2009
2010-12-29
打赏
举报
回复
[Quote=引用 9 楼 billpu 的回复:]
服务器上运行cmd 输入你的上述语句 看报什么错
[/Quote]
我都已经说了,在服务器和本机在“运行”中运行是没有问题的,但是就是用程序的方式在服务器上运行就写不进去,或许是配置方面的问题
billpu
2010-12-29
打赏
举报
回复
服务器上运行cmd 输入你的上述语句 看报什么错
rainychan2009
2010-12-29
打赏
举报
回复
[Quote=引用 7 楼 qianjin036a 的回复:]
不明白你的普通程序是什么意思,在客户端企业管理器上,还是编了一个客户端程序?
[/Quote]
没有那么麻烦啊,就是一个EXE,直接向SQL写数据,因为那些数据我用sql匹配的格式存放在一个文本中,,所以就是在程序中调用命令行模拟BCP,文本内容类似下面:
bcp DATABASE.DBO.TABLE in 文本文件名 -c -S ServerName -U sa -P password
-晴天
2010-12-29
打赏
举报
回复
不明白你的普通程序是什么意思,在客户端企业管理器上,还是编了一个客户端程序?
rainychan2009
2010-12-29
打赏
举报
回复
[Quote=引用 4 楼 billpu 的回复:]
服务器用程序写是什么概念 写了个批处理?
[/Quote]
差不多,就是WinExeC(sCmd),sCMD就是我在“运行”中输入的字符串
rainychan2009
2010-12-29
打赏
举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]
貌似在客户端用程序写吧?
或许程序有问题,或许权限不够.
[/Quote]
其实是一个服务连接到sql2005,然后服务朝SQL写数据。我把写的功能提取出来测试,写成一个普通程序,然后分别在自己的机子上朝服务器写数据,在服务器上运行普通程序写数据,但是服务器上就是写不进去
billpu
2010-12-29
打赏
举报
回复
服务器用程序写是什么概念 写了个批处理?
rainychan2009
2010-12-29
打赏
举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]
貌似在客户端用程序写吧?
或许程序有问题,或许权限不够.
[/Quote]
程序就简单的调用了DOS命令执行bcp,至于权限请说明?我把程序做成服务仍然不行啊,服务是系统级别的。
那怎样加程序的权限呢?
我在本地朝服务器写数据为什么就没这个问题呢?
加载更多回复(2)
在使用
BCP
导出的时候碰到以下问题,
求
大神
指教啊
SQLState = S1000, NativeError = 0 Error = [Microsoft][SQL Server Native Client 11.0]无法打开
BCP
主数据文件 NULL
bcp
命令执行时报错的问题
bcp
命令执行报错的问题,请各位
大神
看看,支支招。 我的语句如下:
bcp
easypfPX.dbo.Easy_sys_user out H:\lxy.txt -Usa -SEAMTEST -c 报错信息如下: CTLIB Message: - L6/O8/S5/N3/5/0: ct_connect(): directory ...
SQL server 数据导入导出
BCP
工具使用详解
SQL server 数据导入导出
BCP
工具使用详解
bcp
命令详解
bcp
命令详解
阿里P8
大神
讲解——Java,JVM内存模型
在Java程序界流行着一种默认的说法叫”黄金5年”,也就是一个程序员从入职...如果你想在Java道路上不断精进,我也给大家分享,当时我在进阶的时候加入的
大神
群,里面有很多大厂经验的
大神
以及各个版块的资料可以免费领.
MS-SQL Server
34,576
社区成员
254,587
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章