通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 '=' 预期字符”错误的原因?
Posted
技术标签:
【中文标题】通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 \'=\' 预期字符”错误的原因?【英文标题】:Reason for "Invalid JDBC escape syntax at line position 24 '=' character expected" error when executing SQL Server call through JTDS driver?通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 '=' 预期字符”错误的原因? 【发布时间】:2016-09-19 17:28:40 【问题描述】:我正在尝试使用 Java 程序在 SQL Server 2012 上执行以下 SQL,并使用 JTDS 驱动程序连接到数据库:
Declare @username varbinary(128);
SET @username=convert(varbinary(128), ?);
SET CONTEXT_INFO @username;
我总是收到以下错误:
第 24 行的 JDBC 转义语法无效,应为“=”字符。
有什么想法吗?
【问题讨论】:
您为什么只想使用JTDS
驱动程序?请改用sqljdbc4.jar
!
我无法通过 jTDS 1.3.1 和 Java 8 使用 this code 重新创建您的问题。
【参考方案1】:
我相信您在 ?
周围缺少引号
SET @username=convert(varbinary(128), '?');
【讨论】:
这可能是个问题,但不是这个问题的原因(我只是测试过) 尝试运行这 3 行,直接通过管理工作室在 sql server 中检查它们是否工作 他们做到了!现在我将创建一个包含这三行的过程并调用它。我认为这是 jtds 驱动程序中的解析问题。以上是关于通过 JTDS 驱动程序执行 SQL Server 调用时出现“第 24 行位置的 JDBC 转义语法无效 '=' 预期字符”错误的原因?的主要内容,如果未能解决你的问题,请参考以下文章
JTDS 与 SQL Server 的连接问题 - 适用于 2000 但不适用于 2005
如何在Android中使用JTDS驱动连接sql server
使用 JDBC 的 SQL Server 连接 - JTDS
如何使用库 jTDS JDBC 驱动程序将 android 应用程序连接到 sql server 2012
带有 Service Pack 2 的 SQL Server Developer Edition 的 jTDS 连接字符串