Les données string ou binarys seraient tronquées lors de l'input de la database dans le time

Comment puis-je get l'heure actuelle et l'entrer dans le server SQL. Il y a ma table:

CREATE TABLE [dbo].[Audit]( [PK_Audit] [int] IDENTITY(1,1) NOT NULL, [SequenceNumber] [int] NOT NULL, [TableName] [varchar](50) NOT NULL, [RunDate] [datetime] NOT NULL, [StartTime] [datetime] NOT NULL, [EndTime] [datetime] NOT NULL, [Description] [varchar](max) NULL, [Status] [varchar](50) NOT NULL, [ProcessName] [nchar](10) NOT NULL, [InsertCount] [int] NOT NULL, [UpdateCount] [int] NULL, [DeleteCount] [int] NULL, CONSTRAINT [PK_Audit] PRIMARY KEY CLUSTERED ( [PK_Audit] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] 

J'essaie d'utiliser calander pour avoir le time et l'entrer dans la database:

 Calendar cal = Calendar.getInstance(); java.util.Date start = cal.getTime(); 

Pour moi, il semblait que vous deviez le convertir en quelque chose que SQL comprend, donc j'ai fait ce qui suit:

 audit.setDate(4, new java.sql.Date(start.getTime())); 

Lorsque j'exécute la requête, j'obtiens l'erreur suivante:

 com.microsoft.sqlserver.jdbc.SQLServerException: Ssortingng or binary data would be truncated. 

Qu'est-ce que je fais mal?

Vous pouvez utiliser la fonction SQL Server getdate() :

 update Audit set StartTime=getdate(), . . . where . . . 

ou

 insert into Audit (StartTime, . . .) values (getdate(), . . .)