2011-01-29 11 views
7

Utilizzo SQL SERVER 2005 Express. Posso eliminare il database dall'analizzatore di query, ciò che chiamate Mgmt Studio (ssmsee) fornendo le doppie virgolette al nome del database e le cose vengono fatte;SQLCMD - tentativo di eliminare un database con nome alfanumerico '14Data' fornisce Errore di sintassi

DROP DATABASE "14data" Go

e il db è andato,

ma sqlcmd dà l'errore, il 14 (Msg 102 Livello 15 Stato 1 sysntax non corretta in prossimità 14) Può essere che considera parte numerica come qualche altra cosa e non il nome del database, ho provato con N '"," ", $(), ho anche provato variabili ed eseguendo file di script sql corretti (che funzionavano correttamente su mgmt studio) ma danno lo stesso errore nell'esatto stesso luogo.

Qualcuno ha mai cancellato un database con nome db alfanumerico da SQLCMD?

risposta

11

Si può essere in grado di enclose it [] brackets.

esempio

drop database [14data] go 
+0

sì questa è la risposta, grazie a tutti – maqk

+0

Grazie! Questo vale anche quando il nome del tuo database sembra un percorso (ad es. C: \ USERS \ Admin \ DESKTOP \ EXAMPLE.MDF) –

5

per caratteri speciali utilizzare [] parentesi quadre. Dovrebbe essere usato mentre si gestiscono le parole chiave, i caratteri speciali per i nomi delle colonne, i nomi delle tabelle e i nomi dei database e pure.

Drop Database [14data] 
+0

sì la tua risposta è corretta, grazie, come contrassegnare la risposta? – maqk

+0

puoi contrassegnare solo una delle risposte come corrette ... – Mulki

Problemi correlati