从 Java 连接到 SQL Server 2016 时出现 EXCEPTION_ACCESS_VIOLATION
Posted
技术标签:
【中文标题】从 Java 连接到 SQL Server 2016 时出现 EXCEPTION_ACCESS_VIOLATION【英文标题】:EXCEPTION_ACCESS_VIOLATION while connecting to SQL Server 2016 from Java 【发布时间】:2017-09-19 21:36:02 【问题描述】:以下是我尝试连接数据库时出现的错误:
A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006d21cef5, pid=10392, tid=14036
#
# JRE version: Java(TM) SE Runtime Environment (8.0_60-b27) (build 1.8.0_60-b27)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.60-b23 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V [jvm.dll+0x13cef5]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\Sathi\workspace\JDBC1\hs_err_pid10392.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
#
下面是我的基本代码:
package com.info.dbconnection;
import java.sql.*;
public class DataBaseConnection
public static Connection getConnection()
Connection con = null;
try
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager
.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=SampleDB;integratedSecurity=true;");
System.out.println("Connection has been created:: " + con);
catch (ClassNotFoundException e)
// TODO Auto-generated catch block
e.printStackTrace();
catch (SQLException e)
// TODO Auto-generated catch block
e.printStackTrace();
return con;
【问题讨论】:
嗯,您运行的是相当旧的 Java 8 版本(最新版本是 1.8.0_144),因此您可能应该升级。您还应该验证您使用的是 Microsoft 的 SQL Server JDBC 驱动程序的最新版本。 你这里使用的JDBC驱动是什么版本? 我正在使用 Microsoft 的 SQL Server JDBC 驱动程序 6.0。我尝试更新 JRE 最新版本,但得到了同样的错误。 # Java Runtime Environment 检测到致命错误:# # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000711ef255, pid=2692, tid=0x0000000000001e64 # # JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) ( build 1.8.0_144-b01) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 混合模式 windows-amd64 压缩 oops) # 有问题的框架: 【参考方案1】:下载最新版本的sqlserver驱动(sqljdbc)
【讨论】:
您应该为您的帖子提供更多背景信息才能成为一个好的答案,例如尝试解释什么表明 OP 应该更新驱动程序。您的答案现在更像是评论以上是关于从 Java 连接到 SQL Server 2016 时出现 EXCEPTION_ACCESS_VIOLATION的主要内容,如果未能解决你的问题,请参考以下文章
我可以从 Java EE webapp 使用 Windows 身份验证连接到 SQL Server 吗?
从 Java 连接到 SQL Server 2016 时出现 EXCEPTION_ACCESS_VIOLATION