2015-02-09 138 views
1

我有一个连接到SQL Server 2008的数据库,当打印数据库时出现错误:打印中止!错误37000(用于ODBC驱动程序的Microsoft OLE DB提供程序) - [Microsoft] [ODBC SQL Server驱动程序] [SQL Server] [TEMP_TAB_SHEET_U17'附近的语法不正确'SQL错误:“错误的语法附近”

详细的脚本如下:

SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

CREATE TABLE [data].[TEMP_TAB_SHEET_U17](
    [TAL] [varchar](30) NULL, 
    [Phase] [smallint] NOT NULL, 
    [SHT] [varchar](30) NULL, 
    [PreferedSYS] [varchar](30) NULL, 
    [sysdesc] [varchar](100) NULL, 
    [EquipmentNumber] [varchar](30) NULL, 
    [TaskNumber] [varchar](30) NULL, 
    [TaskId] [int] NULL, 
    [OTdescription] [varchar](50) NULL, 
    [OTremark] [varchar](50) NULL, 
    [Estimated_Man_Hours] [float] NULL, 
    [EquipmentId] [int] NULL, 
    [EquipmentDescription] [varchar](50) NULL, 
    [TAA_ID] [int] NULL, 
    [UserGroup] [varchar](30) NULL, 
    [MODULE] [varchar](30) NULL, 
    [ModuleDesc] [varchar](50) NULL, 
    [SHTTitle1] [varchar](50) NULL, 
    [SHTTitle2] [varchar](50) NULL, 
    [SHTTitle3] [varchar](50) NULL, 
    [SHTTitle4] [varchar](50) NULL, 
    [SHTDescription] [varchar](50) NULL, 
    [SHTNbSections] [int] NULL, 
    [NbMaxTasksPerSheet] [int] NULL, 
    [S1_PH] [varchar](30) NULL, 
    [S1_M] [varchar](30) NULL, 
    [S1_PF] [varchar](30) NULL, 
    [S2_PH] [varchar](30) NULL, 
    [S2_M] [varchar](30) NULL, 
    [S2_PF] [varchar](30) NULL, 
    [S3_PH] [varchar](30) NULL, 
    [S3_M] [varchar](30) NULL, 
    [S3_PF] [varchar](30) NULL, 
    [SHTFooterTitle1] [varchar](50) NULL, 
    [SHTFooterTitle2] [varchar](50) NULL, 
    [SHTFooterTitle3] [varchar](50) NULL, 
    [SHTFooterTitle4] [varchar](50) NULL, 
    [SHTFooterTitle5] [varchar](50) NULL, 
    [SHTFooterTitle6] [varchar](50) NULL, 
    [SHTFooterTitle7] [varchar](50) NULL, 
    [SHTFooterTitle8] [varchar](50) NULL, 
    [SHTFooterTitle9] [varchar](50) NULL, 
    [SHTFooterTitle10] [varchar](50) NULL, 
    [SHTFooterTitle11] [varchar](50) NULL, 
    [SHTFooterTitle12] [varchar](50) NULL 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF 
GO 

ALTER TABLE [data].[TEMP_TAB_SHEET_U17] ADD DEFAULT ((0)) FOR [Phase] 
GO 

已完成查询错误运行:

消息2714,级别16,状态6,2号线 目前已经在名为“TEMP_TAB_SHEET_U17”对象数据库。 消息1781,级别16,状态1,行2 列已经有一个绑定到它的DEFAULT。 消息1750,级别16,状态0,行2 无法创建约束。查看以前的错误。

如何解决这个问题。 预先感谢您。

阿旺

+3

的错误意味着已经存在的数据库名为“TEMP_TAB_SHEET_U17”的对象。您通过不尝试创建另一个问题来解决问题。 – 2015-02-09 15:28:32

+1

@TabAlleman - 或先丢弃旧的。 – 2015-02-09 15:30:09

回答

0

你试过设置约束上创建:

SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

SET ANSI_PADDING ON 
GO 

    CREATE TABLE [data].[TEMP_TAB_SHEET_U17](
     [TAL] [varchar](30) NULL, 
     [Phase] [smallint] NOT NULL DEFAULT 0, 
     ... 
     .... 

    GO 

    SET ANSI_PADDING OFF 
    GO 
+0

出现错误消息: 消息2714,级别16,状态6,行2 数据库中已有一个名为'TEMP_TAB_SHEET_U17'的对象。 消息1781,级别16,状态1,行2 列已经有一个绑定到它的DEFAULT。 消息1750,级别16,状态0,行2 无法创建约束。查看以前的错误。 – Awan 2015-02-09 15:37:56