【问题标题】:The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 (""): Data type 0x38 is unknown传入的表格数据流 (TDS) 远程过程调用 (RPC) 协议流不正确。参数 1 (""):数据类型 0x38 未知
【发布时间】:2016-09-16 19:14:39
【问题描述】:

尝试连接到 sqlserver 数据库并检索信息并稍后插入。 尝试使用 select 进行 JDBC 调用时,服务器上出现此错误。

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 (""): Data type 0x38 is unknown.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.openCursor(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)

在我的本地机器上一切正常。不确定需要做什么。请在这方面需要帮助。

服务器上的类路径按此顺序包含以下 jar 的路径。

msutil.jar
mssqlserver.jar
msbase.jar
sqljdbc4.jar

【问题讨论】:

  • 您确定本地和远程数据模型是 100% 等效的吗?
  • 还比较本地和远程计算机上的 SQL Server 版本。如果你真的在使用“SQLServer 2000 Driver for JDBC”,它可能对这份工作来说太旧了。
  • 在我之前的评论中,this page 的“详细信息”部分显示“您正在寻找的驱动程序版本,即 SQL Server 2000 JDBC 驱动程序不再可供下载(请注意对此驱动程序的支持将于 2010 年 7 月 9 日正式结束)。”换言之,该版本的驱动程序已超过六 (6) 年不受支持。
  • 非常真实的@GordThompson,只是好奇!如果我们将其替换为sqljdbc4.jar,它会起作用吗?
  • @N00bPr0grammer re: “如果我们用 sqljdbc4.jar 替换它,它会工作吗?” - 知道这个问题的答案的最好方法是自己尝试一下.

标签: java sql-server jdbc


【解决方案1】:

您的类路径中有多个 Microsoft JDBC 驱动程序,因此您连接的是 ancient MS SQL Server 2000 JDBC 驱动程序。删除旧的(即msutil.jarmssqlserver.jarmsbase.jar),只留下sqljdbc4.jar。还要检查是否有比您当前使用的版本更新的可用版本。

【讨论】:

  • 只有 sqljdbc.jar 帮助我解决了这个问题。非常感谢。
猜你喜欢
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 2013-06-02
  • 1970-01-01
  • 2020-05-26
相关资源
最近更新 更多