名称为句点的BCP数据库

时间:2010-02-17 15:44:03

标签: .net sql-server bcp

我在使用SQL BCP进程加载带有数据的表时遇到问题。我是从.NET应用程序调用它,所以我执行xp_cmdshell可执行文件来运行bcp命令。以下是其中一个命令:

EXEC master..xp_cmdshell 'bcp "[D001Test.Restore].[dbo].[GeneralComments]" in "<DataFile>" -q -c -t "|_|" -r "|+~+|" -k -V80 -a33000 -E -STest'

当我导入的数据库名称(在本例中为D001Test.Restore)中有一个“。”在名称中,bcp命令失败。有没有办法解决?无论有没有括号,我都试过了。我可能必须将数据导入新数据库,并在完成后将其重命名为所需的名称。

1 个答案:

答案 0 :(得分:2)

您不需要-q参数和引号。文档陈述了关于q参数的以下内容:

  

使用此选项指定数据库,   所有者,表或视图名称   包含空格或单引号   标记。包括整个三部分   表或视图名称用引号   ( “”)。

您的数据库名称既不包含空格也不包含单引号。

试试这个:

bcp [D001Test.Restore].dbo.GeneralComments in "<DataFile>" -c -t "|_|" -r "|+~+|"
-k -V80 -a33000 -E -STest