带有SQL Server的SpringBoot JDBCTEMPLATE:从未知为未知的转换不支持



我有一个Springboot应用。使用此语法:

使用JDBCTEMPLATE连接到SQL Server DB
int numOfRowsAffected = remoteJdbcTemplate.update(
        "insert into dbo.[ATRESMEDIA Resource Time Registr_]  " +
        "( [Entry No_], [Record ID], [Posting Date], [Resource No_], [Job No_], [Work Type], [Quantity], [Unit of Measure], [Description], [Company Name], [Created Date-Time], [Status] ) " +
                " VALUES (?,?,?,?,?,?,?,?,?,?,?,?);",
                atresMediaTimeRegistr.getEntryNo(),
                "Record ID",
                atresMediaTimeRegistr.getPostingDate(),
                atresMediaTimeRegistr.getResourceNo(),
                atresMediaTimeRegistr.getJobNo(),
                atresMediaTimeRegistr.getWorkType(),
                atresMediaTimeRegistr.getQuantity(),
                atresMediaTimeRegistr.getUnitOfMeasure(),
                atresMediaTimeRegistr.getDescription(),
                atresMediaTimeRegistr.getCompanyName(),
                atresMediaTimeRegistr.getCreatedDate(),
                1);

其中[Record ID]varbinary类型,但我有此错误

Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [insert into dbo.[ATRESMEDIA Resource Time Registr_]  ( [Entry No_], [Record ID], [Posting Date], [Resource No_], [Job No_], [Work Type], [Quantity], [Unit of Measure], [Description], [Company Name], [Created Date-Time], [Status] )  VALUES (?,?,?,?,?,?,?,?,?,?,?,?);]; SQL state [S0003]; error code [257]; Implicit conversion from data type nvarchar to varbinary is not allowed. Use the CONVERT function to run this query.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Implicit conversion from data type nvarchar to varbinary is not allowed. Use the CONVERT function to run this query.

您的答案问题:...Implicit conversion from data type nvarchar to varbinary is not allowed...您试图将字符串作为varbinary。首先,你必须做这样的事情 byte[] varBinary = "record_ID".getBytes(StandardCharsets.UTF_8);然后将其作为record_id参数将其放入JDBCTEMPLATE中。祝你好运,希望它会有所帮助!

最新更新