2011-01-29 5 views
7

Używam SQL SERVER 2005 Express. Mogę usunąć bazę danych z analizatora zapytań, którą nazywasz Mgmt Studio (ssmsee), podając podwójne cudzysłów do nazwy bazy danych i rzeczy się kończą;SQLCMD - próba upuszczenia bazy danych o alfanumerycznej nazwie "14Data" daje błąd składni

DROP DATABASE "14data" Go

i db nie ma,

ale sqlcmd daje błąd na 14 (MSG 102 Poziom 15 państwa 1 Nieprawidłowa sysntax blisko 14) Może być ona uważa część numeryczną jak niektóre inne rzeczy, a nie nazwę bazy danych, próbowałem z N '', "", $(), wypróbowałem również zmienne i wykonałem poprawne pliki skryptów sql (które działały poprawnie w mgmt studio), ale daje to ten sam błąd dokładnie to samo miejsce.

Czy kiedykolwiek usunięto bazę danych z alfanumeryczną nazwą db z SQLCMD?

Odpowiedz

11

Możesz być w stanie enclose it [] brackets.

np

drop database [14data] go 
+0

Tak, to jest odpowiedź, dzięki wszystkim – maqk

+0

Dzięki! Dotyczy to również sytuacji, gdy nazwa bazy danych wygląda jak ścieżka (np. C: \ USERS \ Admin \ DESKTOP \ EXAMPLE.MDF) –

5

w przypadku znaków specjalnych należy użyć [] nawiasów kwadratowych. Powinien być używany podczas obsługi słów kluczowych, znaków specjalnych dla nazw kolumn, nazw tabel i nazw baz danych, a także.

Drop Database [14data] 
+0

tak, twoja odpowiedź jest poprawna, dzięki, jak oznaczyć odpowiedź? – maqk

+0

możesz zaznaczyć tylko jedną z odpowiedzi jako poprawną ... – Mulki

Powiązane problemy