2011-01-18 9 views
9

ho un semplice SQLCMD script che include alcune linee come questa:lo script sqlcmd con spazi nel nome del file

/* 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' 
    ) 

quando l'eseguo sulla riga di comando, ottengo un errore come questo:

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

Penso che avere uno spazio nel percorso stia causando il blocco del percorso, ma non riesco a capire una sintassi che funzioni. Qualcuno ha qualche esperienza con questo?

risposta

9

Il messaggio di errore suona come sqlcmd non riesce a trovare il file sql.

Provare sqlcmd "c:\example filepath\test.sql" dal prompt dei comandi.

Le stringhe sono citate con virgolette singole in TSQL, con virgolette doppie in cmd.

1

Surround il percorso con apici:

'C:\Example Filepath\test.csv' 
+0

Ho provato le virgolette singole e doppie - stesso errore in entrambi i casi. – SuperNES

+0

@SuperNES L'ho appena testato con virgolette singole e funziona perfettamente. Forse il tuo file non esiste o non hai permessi. Controlla anche qui: http://msdn.microsoft.com/en-us/library/ms188365(v=sql.90).aspx – nan

Problemi correlati