java - 使用 jdbctemplate 插入查询给出异常 UncategorizedSQLException

标签 java sql-server spring spring-jdbc jdbctemplate

我正在使用 jdbctemplate 进行插入查询。该查询在 SQL Server Studio 中运行良好。但是当我使用 using jdbctemplate 时,这给出了 UncategorizedSQLException 的异常

完全异常

 org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO Test (ID, NAME) VALUES (?, ?)]; SQL state [null]; error code [0]; The conversion from UNKNOWN to UNKNOWN is unsupported.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from UNKNOWN to UNKNOWN is unsupported.

我的代码是

sqlServerJdbcTemplate.update(
        "INSERT INTO Test (ID, NAME) VALUES (?, ?)",
        new Object[]{101, "Dave"},
        new Object[]{Types.INTEGER, Types.VARCHAR}
);

只有 Integer 和 varchar 类型的 ID 和 NAME 两列。

这个流程有什么问题?任何想法将不胜感激。

P.S:SQL 服务器是数据库

最佳答案

要避免此问题,您可以删除 new Object[]{Types.INTEGER, Types.VARCHAR} 并让 DBMS 检测每个输入的类型:

sqlServerJdbcTemplate.update(
        "INSERT INTO Test (ID, NAME) VALUES (?, ?)",
        new Object[]{101, "Dave"}
);

关于java - 使用 jdbctemplate 插入查询给出异常 UncategorizedSQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47069361/

相关文章:

java - Spring @transactional 不回滚

java - Spring 4.0.6 与 quartz 1.8.6 : setCronExpression method is not exposed to CronTriggerBean class

SQL - 这些连接之间的区别?

java - 具有多个条件的 Hibernate Join 表,但 @WhereJoinTable 不起作用

sql - 删除带有警告的重复项

c# - 如何按距纬度/经度的距离对大量(可能是部分)地址进行排序

java - propertiesfactorybean vs propertyplaceholderconfigurer spring?

java - 如何在 spring boot 中拥有线程安全 Controller

java - 如何通过 JDBC 将垃圾字符插入 mysql 表

java - 在 ArrayList 中添加重复元素的值