sqlcmd脚本,文件名中包含空格

时间:2011-01-18 16:24:48

标签: sql sql-server csv bulkinsert sqlcmd

我有一个简单的SQLCMD脚本,其中包含一些这样的行:

/* Load data into Exampletable */
BULK INSERT dbo.Example
    /* NOTE: I've tried single AND double quotes here. */
    FROM "C:\Example Filepath\test.csv"
    WITH 
    (
            /* skip the first row containing column names */
            FIRSTROW = 2,
            /* specify how fields are separated */
            FIELDTERMINATOR = '|',
            /* specify how lines end */
            ROWTERMINATOR = '\n' 
    )

当我在命令行上运行它时,我收到如下错误:

Sqlcmd: 'C:\Example': Invalid filename.

我认为在路径中有一个空格会导致路径被切断,但我无法找出有效的语法。有没有人有这方面的经验?

2 个答案:

答案 0 :(得分:9)

错误消息听起来像sqlcmd找不到.sql文件。

从命令提示符处尝试sqlcmd "c:\example filepath\test.sql"

在TSQL中使用单引号引用字符串,在cmd中使用双引号。

答案 1 :(得分:1)

用单引号包围路径,如:

'C:\Example Filepath\test.csv'