问题描述:
2K5安装在两个不同的环境,一个在产品库里面,一个在测试库里面。现在由于测试库里面的数据不全,就想把产品库的数据通过bcp out/in 到测试库里面。但是产品库的数据上了亿。所以copy数据要花很长时间。在网上查了一下,好像可以通过指定的SQL 来import data。命令模版是(http://bbs.chinaunix.net/viewthread.php?tid=690199)
语法
bcp {[[database_name.][owner].]{table_name | view_name} | "query"}
    {in | out | queryout | format} data_file
    [-m max_errors] [-f format_file] [-e err_file]
    [-F first_row] [-L last_row] [-b batch_size]
    [-n] [-c] [-w] [-N] [-V (60 | 65 | 70)] [-6]
    [-q] [-C code_page] [-t field_term] [-r row_term]
    [-i input_file] [-o output_file] [-a packet_size]
    [-S server_name[\instance_name]] [-U login_id] [-P password]
    [-T] [-v] [-R] [-k] [-E] [-h "hint [,...n]"]我刚试了一下,报错。我是windows认证登陆,所以不能用-U -P。我的命令是
全表copy, pass
bcp "COD.dbo.test" Out "T:\TC\bcp\COD.dbo.test.txt" -T  -CRAW -c -t"\t" -r"\r" -SZCSEST01 部分copy failed
bcp "COD.dbo.test" "SELECT TOP 10 * FROM COD.dbo.test ORDER BY test_id,test_seq_nbr" Out "T:\TC\bcp\COD.dbo.test.txt" -T  -CRAW -c -t"\t" -r"\r" -SZCSEST01 请问部分copy的语法哪里错了?

解决方案 »

  1.   

    用查询的时候,就将out改为queryout
      

  2.   


    Create Table #TempProcessInterim
    (iRows nvarchar(600))
    Set @iSQL='bcp "表名" In "文件路径" -c -S"ip or ServerName" -U"sa" -P"密码"'Insert Into #TempProcessInterim
    EXEC master..xp_cmdshell @iSQL
      

  3.   


    Create Table #TempProcessInterim
    (iRows nvarchar(600))
    Set @iSQL='bcp "表名" In "文件路径" -c -S"ip or ServerName" -U"sa" -P"密码"'Insert Into #TempProcessInterim
    EXEC master..xp_cmdshell @iSQL