我想把T_Help_FAQ表中的数据备份出来 
exec master.dbo.xp_cmdshell 'bcp "select * from T_Help_FAQ" queryout "d:\T_Help_FAQ.txt" -w -Sbasa -Usa   -Psa'
总会出错:
SQLState = S0002, NativeError = 208
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'T_Help_FAQ' 无效。
SQLState = 37000, NativeError = 8180
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]未能准备语句。
但能正确执行select * from T_Help_FAQ
这是哪出错了 大家帮帮忙啊~~ 不胜感激!!

解决方案 »

  1.   

    加上数据库名.dbo.表名.
    你这样写它只查找默认库.
      

  2.   

    不行啊 
    还是报错:
    SQLState = S0002, NativeError = 208
    Error = [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'dbo.admin.T_Help_FAQ' 无效。
    SQLState = 37000, NativeError = 8180
    Error = [Microsoft][ODBC SQL Server Driver][SQL Server]未能准备语句。
      

  3.   

    exec master.dbo.xp_cmdshell 'bcp " 数据库名.dbo.[T_Help_FAQ]" queryout "d:\T_Help_FAQ.txt" -w -Sbasa -Usa   -Psa'
      

  4.   

    不行啊~~ 还是报错 
    我的数据库为:admin 表为:T_Help_FAQ
    执行 exec master.dbo.xp_cmdshell 'bcp "admin.dbo.[T_Help_FAQ]"    queryout "d:\T_Help_FAQ.txt" -w -Sbasa -Usa   -Psa'
    报错信息为:
    SQLState = 37000, NativeError = 170
    Error = [Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: 'admin' 附近有语法错误。
    我快晕了 @_@  大家受累在帮帮忙吧~~ 不胜感激!!
      

  5.   

    假设数据库名为'admin',所有者为'dbo',则:
    exec master.dbo.xp_cmdshell 'bcp "select * from [admin].[dbo].[T_Help_FAQ]" queryout "d:\T_Help_FAQ.txt" -w -Sbasa -Usa   -Psa'
    请楼主试试.应该没问题的,在我的机器上测试通过.