bcp导出数据之前先说一下数据库如何建立ipc链接。当数据库和运行程序不在一个服务器的时候就需要建立一个远程资源访问。
数据库建立net use的ipc链接 就是调用系统库(master)的存储过程xp_cmdshell 该存储过程调用本地的dos执行命令
实例:
exec master..xp_cmdshell 'net use //192.168.1.100/d$/mylocation/location "mypassword" /user:"admin"'
这段的意思就是建立一个在ip192.168.1.100上面的资源访问链接,定位路径D盘mylocation/location ,访问用户admin密码为mypassword。
ipc建立好了 现在开始批量导出数据。
同样执行存储过程xp_cmdshell
实例:
exec master..xp_cmdshell 'bcp "tv_manage..mytable" queryout "//192.168.1.100/d$/mylocation/location/file.xls" -c -S"127.0.0.1" -U"sa" -P"sa"'
tv_manage..mytable表示一张表的数据 或者写sql语句也可以,queryout 导出 到//192.168.1.100/d$/mylocation/location/file.xls这个文件下 因为之前已经建立了ipc链接了所以可以直接生成过去. -U数据库用户名 -P密码
这样结束后 就可以在192.168.1.100的D盘mylocation/location文件夹下找到导出的mytable表的数据 存在execl中file.xls