2

我在使用 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 命令失败。有没有办法解决?我试过带括号和不带括号。我可能必须将数据导入新数据库,并在完成后将其重命名为所需的名称。

4

1 回答 1

3

您不需要 -q 参数和引号。该文档说明了有关 q 参数的以下内容:

使用此选项可指定包含空格或单引号的数据库、所有者、表或视图名称。用引号 ("") 将整个由三部分组成的表或视图名称括起来。

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

试试这个:

bcp [D001Test.Restore].dbo.GeneralComments in "<DataFile>" -c -t "|_|" -r "|+~+|"
-k -V80 -a33000 -E -STest
于 2010-02-18T08:18:03.940 回答