Java JDBC连接到MS SQL Server 2012错误

Java JDBC连接到MS SQL Server 2012错误,java,sql-server-2012,odbc,jdbc-odbc,Java,Sql Server 2012,Odbc,Jdbc Odbc,我有一台带有WindowsServer2003SP2的服务器和一个用JavaSE版本5.0开发的第三方应用程序。此应用程序通过配置的ODBC源连接到外部数据库服务器。 在我的ODBC源中,我已将源配置为外部MS SQL server。正如我所说,它使用这个驱动程序:SQLSRV32.DLL版本:2000.86.3959.00。当我配置此源代码并测试连接时,它表示连接已成功 多年来,外部数据库服务器在MS SQL server 2008下运行,一切正常。但现在他们迁移到了MS SQL Server

我有一台带有WindowsServer2003SP2的服务器和一个用JavaSE版本5.0开发的第三方应用程序。此应用程序通过配置的ODBC源连接到外部数据库服务器。 在我的ODBC源中,我已将源配置为外部MS SQL server。正如我所说,它使用这个驱动程序:SQLSRV32.DLL版本:2000.86.3959.00。当我配置此源代码并测试连接时,它表示连接已成功

多年来,外部数据库服务器在MS SQL server 2008下运行,一切正常。但现在他们迁移到了MS SQL Server 2012,我的java应用程序与它失去了连接,例外情况如下:

[Microsoft][SQLServer2000 JDBC驱动程序][SQLServer]传入的 表格数据流(TDS)远程过程调用(RPC)协议流 这是不正确的。参数1(“”):数据类型0x38未知


如何修复连接?是否需要为Windows或Java安装任何驱动程序?

您使用的是过时的驱动程序版本。该错误是由于SQLServer2000驱动程序中的错误造成的

。要更正此问题,您需要将驱动程序更新为新版本。有关错误原因和解决方法的详细信息,请参阅:

要升级到更高版本(2005+)的驱动程序,需要按照本文所述更新jar文件和连接字符串。如果您无权访问代码进行更改,则需要与Microsoft联系并请求可用的热修复程序,以修复2000驱动程序中的错误,如KB中所述,如下所示:

要立即解决此问题,请与Microsoft产品支持部门联系 获取修补程序的服务。查看Microsoft的完整列表 产品支持服务电话号码和有关的信息 支持费用,请访问以下Microsoft网站:


也可以找到驱动程序.dll文件的更新“修补”版本。我在这个URL上找到了一个下载示例:这是一个比您正在使用的版本更高的版本,可能会纠正这个问题。如果这不起作用,请搜索比这更晚的下载,如您所见,这是build#4412。如果您从Microsoft以外的网站下载,请确保在使用该文件之前对其进行病毒扫描。

您肯定需要更新驱动程序。本文介绍了一些代码更改,但我无法访问该java应用程序的源代码。你能告诉我该找哪位司机吗。KB文章没有任何下载链接。我为您更新了答案,并提供了有关无需更改代码的现有驱动程序补丁更新选项的更多信息。