- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
简单问一下,为什么在使用以下代码时会出现以下异常;
请注意,这是使用 Java 通过存储过程调用 MS SQL Server 2008 R2。
Connection con = getDataSource().getConnection();
CallableStatement cs = con.prepareCall("countrySelect(?)");
cs.setObject(1, "GB");
cs.execute();
结果;
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1493)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:390)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:340)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1400)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:179)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:154)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.execute(SQLServerPreparedStatement.java:322)
这个“@P0”来自哪里?这是Java内存引用吗?为什么它没有正确转换为 SQL 类型?
如果可以的话,我也会得到同样的东西;
cs.setString(1, "GB");
存储的Proc代码如下(不是我写的);
DECLARE @dbid INTEGER;
DECLARE @dbName NVARCHAR(125);
DECLARE @prcName NVARCHAR(125);
SET @dbid = DB_ID();
SET @dbName = DB_NAME();
SET @prcName = 'usp_countrySelect'
IF dbo.ufn_Admin_countryExists(@countryCode) = 1
SELECT countryCode
, countryName
, nationalVerificationPrice
, vatCharged
, VATPercentage
, sortingPrecedence
FROM dbo.country
WHERE countryCode = @countryCode ;
ELSE
RAISERROR ( N'ERROR: A country with countryCode %s does not exist - proc Name:%s, database ID:%i, the database name is: %s.'
, 16 -- Severity
, 1 -- State
, @countryCode -- First subbed argument
, @prcName -- Second subbed argument
, @dbid -- Third subbed argument
, @dbName -- Fourth subbed argument
);
END
最佳答案
弄清楚了,如果你问我的话,这是一个不明显的问题的蹩脚错误;
CallableStatement cs = con.prepareCall("countrySelect(?)");
不起作用,而是使用;
CallableStatement cs = con.prepareCall("{call countrySelect(?)}");
区别在于单词“call”和括起来的 { } 括号。
关于java - 使用 CallableStatement.setObject(int,Object) 时出现 SQLServerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5870787/
我收到“SQLServerException:0 结果集已关闭”。结果集已关闭。@java.lang.Thread:run:722' 在以下代码中。 我可以看到我没有关闭语句或结果集,那么为什么我会收
我有用于从 JavaFx 应用程序连接到数据库的类 public class DBConnection { public static Connection mcConnection() {
我在持久保留与另一个实体具有 @OneToOne 关系的实体时遇到问题。我们最近使用 Spring 4 和 Hibernate 4 升级到了 Java 8,所以我确信有一些注释或配置发生了变化。 相关
执行sql语句时得到以下结果 SQLServerException: The server failed to resume the transaction. Desc:69d00000016. 我知
我有一个 Play 2.4.3 应用程序并使用 JDBC 连接到 SQL Server DB。我刚刚编写了一个数据库类来处理调用存储过程。然而,我碰壁了: 我的过程的开始: ALTER PROCEDU
我最近从 JAVA 12 更新到 JAVA 14,并更新了很多我的库。较新版本的 spring、Azure libs 等。 但是,在尝试使用这些新功能运行我的应用程序时,我收到以下错误: com.mi
在我的项目中执行此代码时: Integer countObj = (Integer) ht.findByCriteria(criteria.setProjection(Projections.rowC
我正在Grails 3.1.1项目中使用Microsoft数据库,现在我仅使用脚手架来管理数据。每当我尝试呈现 Controller 的索引页时,我都会遇到错误Incorrect syntax nea
我尝试了很多方法,但总是遇到此错误。 实际上,我正在尝试从其他类访问结果集值,并且对于数据库查询,我创建了一个单独的类。 请不要按照之前的要求标记此问题,因为我只得到了单个类的解决方案。 这是我的 D
我正在使用 MS SQL 服务器创建一个 Spring Boot 应用程序。我有一个要求,我需要使用放置在/src/main/resources/文件夹中的 data.sql 文件初始化 user_d
@Transactional public void importarAdiantamento(LayoutArquivo arquivo, Usuario usuario) throws Excep
我正在尝试使用以下代码访问数据库: try { //Create Data Source and set properties SQLServerDataSourc
当我从 SQL Server 获取数据时,我使用 pyspark 2.4.4,我收到 com.microsoft.sqlserver.jdbc.SQLServerException:不支持“varia
我正在为 SmartFoxServer 编写“服务器端扩展” (SFS)。在我的登录脚本中,我需要连接到我正在尝试使用 JDBC 进行的 MS SQL Server。我已经在我的调试环境中测试了 JD
我想从 eclipse 连接到 SSMS 数据库。当编译器到达 DriverManager.getConnection(url) 行时,它会抛出错误。我也启用了 TCP/IP,但它给出了错误。 try
简单问一下,为什么在使用以下代码时会出现以下异常; 请注意,这是使用 Java 通过存储过程调用 MS SQL Server 2008 R2。 Connection con = getDataSour
我正在使用 sql server 进行数据库连接。我想在运行多个结果集时保持结果集打开。我使用了 results = callableStatement.getMoreResults(Statemen
我正在尝试使用以下代码在 Java 7 中使用 Java PreparedStatement 执行 SQL 查询: PreparedStatement functionalCRsStatement =
我一直在为这件事抓狂。我有一个类像这样拉动对象: public UserDTO getUser(String login) { String jql = "select entity from
我试图在我的 SQL 表中创建一个 AUTO_INCREMENT 字段,该字段是通过 SQL Statement.execute 创建的,但它继续抛出 com.microsoft.sqlserver.
我是一名优秀的程序员,十分优秀!