2011-01-18 36 views
9

tengo un simple script SQLCMD que incluye algunas líneas de este tipo:guión sqlcmd con espacios en el nombre de archivo

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

Cuando lo ejecuto en la línea de comandos, me sale un error como este:

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

Creo que tener un espacio en el camino hace que se corte la ruta, pero no puedo encontrar una sintaxis que funcione. ¿Alguien tiene alguna experiencia con esto?

Respuesta

9

El mensaje de error suena como sqlcmd no puede encontrar el archivo .sql.

Pruebe sqlcmd "c:\example filepath\test.sql" desde el símbolo del sistema.

Las cadenas se entre comillas simples en TSQL, con comillas dobles en cmd.

1

la ruta entre comillas simples como:

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

He intentado con comillas simples o dobles, el mismo error en ambos sentidos. – SuperNES

+0

@SuperNES Acabo de probarlo con comillas simples y funciona bien. Tal vez su archivo no existe o no tiene permisos. Consulte también aquí: http://msdn.microsoft.com/en-us/library/ms188365(v=sql.90).aspx – nan

Cuestiones relacionadas