現在の時刻を取得して SQL サーバーに入力するにはどうすればよいですか。私のテーブルがあります:
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]
calander を使用して時間を取得し、データベースに入力しようとしています:
Calendar cal = Calendar.getInstance();
java.util.Date start = cal.getTime();
私には、SQLが理解できるものに変換する必要があるように見えたので、次のことを行いました:
audit.setDate(4, new java.sql.Date(start.getTime()));
クエリを実行すると、次のエラーが表示されます。
com.microsoft.sqlserver.jdbc.SQLServerException: String or binary data would be truncated.
私は何を間違っていますか?