Неправилен синтаксис близо до „,“

Получавам следната грешка от SQL скрипта, който се опитвам да стартирам:

Msg 102, ниво 15, състояние 1, ред 10 Неправилен синтаксис близо до „,“.

Това е SQL скриптът:

IF NOT EXISTS (SELECT * 
                 FROM dbo.sysobjects 
                WHERE id = OBJECT_ID(N'[dbo].HDDB_DataSource]') 
                  AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
BEGIN
CREATE TABLE [dbo].[HDDB_DataSource](
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [Name] [nvarchar](255) NOT NULL,
 [Type] [nvarchar](50) NOT NULL,
 [XmlFileName] [nvarchar](255) NULL,
 [ConnectionString] [nvarchar](255) NULL),
 CONSTRAINT [PK_DataSource] PRIMARY KEY CLUSTERED 
(
 [ID] ASC
) ON [PRIMARY]
) ON [PRIMARY]
END

Използвам SQL Server 2005.


person jeffreyshek    schedule 18.03.2010    source източник


Отговори (7)


Премахнете ")" в "[ConnectionString] nvarchar NULL)"

person Morfildur    schedule 18.03.2010
comment
+1 можете да поставите кода на OP в SSMS и да щракнете върху иконата за проверка на анализа в лентата с инструменти и да получите съобщението за грешка. Ако премахнете ), както е описано в този отговор, и повторите анализа (или действително го стартирате и създадете таблицата), грешката изчезва и кодът се изпълнява. - person KM.; 18.03.2010

Отървете се от близката скоба в края на реда на колоната ConnectionString преди запетаята и трябва да работи

person Rob Packwood    schedule 18.03.2010

Виждате ли странното ) в края на този ред?

 [ConnectionString] [nvarchar](255) NULL),
person mjv    schedule 18.03.2010

Изглежда, че имате дублиращи се редове тук:

) ON [PRIMARY]
) ON [PRIMARY]

така че скобите не са балансирани.

person Rob Osborne    schedule 18.03.2010
comment
Те не са дубликати, нито синтактична грешка. Първата е файлова група за първичния ключ, а втората е файловата група за таблицата. - person ; 18.03.2010

Премахнете ), след последното поле (преди ограничението).

person Guffa    schedule 18.03.2010

Дубликати

) ON [PRIMARY]
) ON [PRIMARY]
person Gabe    schedule 18.03.2010
comment
Те не са дубликати, нито синтактична грешка. Първата е файлова група за първичния ключ, а втората е файловата група за таблицата. - person ; 18.03.2010

Премахване от последния ред [ConnectionString] nvarchar NULL),

person Nakul Chaudhary    schedule 18.03.2010