2010-03-18 173 views
2

我从SQL脚本以下错误我试图运行:附近有语法错误“”

消息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的

回答

6

删除“)”中的“[ConnectionString中]为nvarchar NULL),”

+1

+1您可以将OP的代码粘贴到SSMS中,然后单击工具栏上的“解析”选项图标并获取错误消息。如果按照本答案所述删除“)”,并重复“解析”(或者实际运行并创建表格),则错误消失,代码将运行。 – 2010-03-18 13:11:25

+0

这工作谢谢:) – jeffreyshek 2010-03-18 13:11:52

1

你似乎有重复的行这里:

) ON [PRIMARY] 
) ON [PRIMARY] 

所以括号并不是均衡。

+1

他们不是复制,也不是一个语法错误。第一个是主键的文件组,第二个是表的文件​​组。 – DyingCactus 2010-03-18 13:20:21

3

在逗号前的ConnectionString列线的末端摆脱密切括号的,它应该工作

1

重复

) ON [PRIMARY] 
) ON [PRIMARY] 
+2

他们不重复,也没有语法错误。第一个是主键的文件组,第二个是表的文件​​组。 – DyingCactus 2010-03-18 13:19:43

+0

@DyingCactus,好点,额外)把我扔了。 +1 – Gabe 2010-03-18 13:52:12

2

删除),后的最后一个字段(约束之前)。

3

您是否在该行末尾看到多余的)

[ConnectionString] [nvarchar](255) NULL), 
0

删除,从最后一排 [ConnectionString的]为nvarchar NULL),