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.

Мисля, че наличието на интервал в пътя е причина пътят да бъде отрязан, но не мога да разбера синтаксис, който работи. Някой има ли опит с това?


person SuperNES    schedule 18.01.2011    source източник


Отговори (2)


Съобщението за грешка звучи като sqlcmd не може да намери .sql файла.

Опитайте sqlcmd "c:\example filepath\test.sql" от командния ред.

Низовете се цитират с единични кавички в TSQL, с двойни кавички в cmd.

person devio    schedule 18.01.2011

Оградете пътя с единични кавички като:

'C:\Example Filepath\test.csv'
person nan    schedule 18.01.2011
comment
@SuperNES Току-що го тествах с единични кавички и работи добре. Може би вашият файл не съществува или нямате разрешения. Проверете и тук: msdn.microsoft.com/en -us/library/ms188365(v=sql.90).aspx - person nan; 18.01.2011