你可以看看这个例子;
use pubs
gocreate table xxdd  
(  
aa nvarchar(1000),  
bb nvarchar(1000),  
cc nvarchar(1000) 
)  
go  exec xp_cmdshell 'bcp pubs.dbo.xxdd format nul -t " " -f c:\wc.fmt -c -Usa -Pyupeigu -S 192.168.1.100,1433'  
goselect *  
from   
openrowset(bulk 'c:\基圆.txt',             --要读取的文件路径和名称   
                formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                  
                firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                  
                maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                  
                rows_per_batch = 10000                    --每个批处理导入的行数  
          ) as t  
          

解决方案 »

  1.   

    123456是你的数据库密码EXEC master..xp_cmdshell 'bcp [人力资源_考勤采集] in "H:\1_attlog.dat" -c -U"sa" -P"123456" '
      

  2.   

    http://blog.csdn.net/yole_grise/article/details/17281587
    参考一下!
      

  3.   

    是的,是空格分隔的!请问该如何处理?文件是考勤机生成的!哦,那就按照这个流程来处理:--1.先把格式文件导出来:c:\wc.fmt
    exec xp_cmdshell 'bcp 你的数据库.dbo.你的表 format nul -t " " -f c:\wc.fmt -c -Usa -P用户名 -S 服务器ip,端口'  
    go
    --2.查询一下数据
    select *  
    from   
    openrowset(bulk 'H:\1_attlog.dat',             --要读取的文件路径和名称   
                    formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                      
                    firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                    --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                      
                    maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                    --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                      
                    rows_per_batch = 10000                    --每个批处理导入的行数  
              ) as t  
              
      

  4.   

    是的,是空格分隔的!请问该如何处理?文件是考勤机生成的!哦,那就按照这个流程来处理:--1.先把格式文件导出来:c:\wc.fmt
    exec xp_cmdshell 'bcp 你的数据库.dbo.你的表 format nul -t " " -f c:\wc.fmt -c -Usa -P用户名 -S 服务器ip,端口'  
    go
    --2.查询一下数据
    select *  
    from   
    openrowset(bulk 'H:\1_attlog.dat',             --要读取的文件路径和名称   
                    formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                      
                    firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                    --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                      
                    maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                    --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                      
                    rows_per_batch = 10000                    --每个批处理导入的行数  
              ) as t  
              
    谢谢,还是不行,提示大容量数据错误!
      

  5.   

    是的,是空格分隔的!请问该如何处理?文件是考勤机生成的!哦,那就按照这个流程来处理:--1.先把格式文件导出来:c:\wc.fmt
    exec xp_cmdshell 'bcp 你的数据库.dbo.你的表 format nul -t " " -f c:\wc.fmt -c -Usa -P用户名 -S 服务器ip,端口'  
    go
    --2.查询一下数据
    select *  
    from   
    openrowset(bulk 'H:\1_attlog.dat',             --要读取的文件路径和名称   
                    formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                      
                    firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                    --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                      
                    maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                    --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                      
                    rows_per_batch = 10000                    --每个批处理导入的行数  
              ) as t  
              
    谢谢,还是不行,提示大容量数据错误!你有qq不,方便的话,帮你看看
      

  6.   

    是的,是空格分隔的!请问该如何处理?文件是考勤机生成的!哦,那就按照这个流程来处理:--1.先把格式文件导出来:c:\wc.fmt
    exec xp_cmdshell 'bcp 你的数据库.dbo.你的表 format nul -t " " -f c:\wc.fmt -c -Usa -P用户名 -S 服务器ip,端口'  
    go
    --2.查询一下数据
    select *  
    from   
    openrowset(bulk 'H:\1_attlog.dat',             --要读取的文件路径和名称   
                    formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                      
                    firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                    --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                      
                    maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                    --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                      
                    rows_per_batch = 10000                    --每个批处理导入的行数  
              ) as t  
              
    谢谢,还是不行,提示大容量数据错误!你有qq不,方便的话,帮你看看
    谢谢!如果你方便的话,请留个QQ给我!我加你!
      

  7.   

    是的,是空格分隔的!请问该如何处理?文件是考勤机生成的!哦,那就按照这个流程来处理:--1.先把格式文件导出来:c:\wc.fmt
    exec xp_cmdshell 'bcp 你的数据库.dbo.你的表 format nul -t " " -f c:\wc.fmt -c -Usa -P用户名 -S 服务器ip,端口'  
    go
    --2.查询一下数据
    select *  
    from   
    openrowset(bulk 'H:\1_attlog.dat',             --要读取的文件路径和名称   
                    formatfile='c:\wc.fmt',  --格式化文件的路径和名称  
                      
                    firstrow = 1,            --要载入的第一行,由于第一行是标题,所以从2开始  
                    --lastrow  = 1000,       --要载入的最后一行,此值必须大于firstrow  
                      
                    maxerrors = 10,          --在加载失败之前加载操作中最大的错误数  
                    --errorfile ='c:\wc_error1.txt', --存放错误的文件  
                      
                    rows_per_batch = 10000                    --每个批处理导入的行数  
              ) as t  
              
    谢谢,还是不行,提示大容量数据错误!你有qq不,方便的话,帮你看看
    谢谢!如果你方便的话,请留个QQ给我!我加你!我加你关注了,你也关注一下我,可以发私信