【发布时间】:2019-07-12 17:28:05
【问题描述】:
我的hibernate.cfg.xml如下:
<hibernate-configuration>
<session-factory name="TestSessionFactory">
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="hibernate.connection.password">!QAZ2wsx</property>
<property name="hibernate.connection.url">jdbc:sqlserver://localhost;databaseName=Testing</property>
<property name="hibernate.connection.username">sa</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
</session-factory>
</hibernate-configuration>
在 Hibernate Configurations 选项卡中,我选择了 Session Factory,然后出现如下错误:
!ENTRY org.hibernate.eclipse.console 4 4 2019-07-13 01:20:30.359 !MESSAGE 创建 sessionfactory 时出现问题 !SUBENTRY 1 org.hibernate.eclipse.console 4 150 2019-07-13 01:20:30.359 !MESSAGE org.hibernate.exception.JDBCConnectionException:调用驱动程序时出错#connect !堆栈 0 org.hibernate.exception.JDBCConnectionException:调用 Driver#connect 时出错 在 org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140) 在 org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75) 在 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 在 org.jboss.tools.hibernate.runtime.v_4_3.internal.ConfigurationFacadeImpl.buildTargetSessionFactory(ConfigurationFacadeImpl.java:19) 在 org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildSessionFactory(AbstractConfigurationFacade.java:170) 在 org.hibernate.console.ConsoleConfiguration$5.execute(ConsoleConfiguration.java:284) 在 org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63) 在 org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107) 在 org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:279) 在 org.hibernate.eclipse.console.workbench.LazySessionFactoryAdapter.getChildren(LazySessionFactoryAdapter.java:43) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104) 在 org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:219) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) 原因:com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败。错误:“连接被拒绝:连接。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止."。 在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) 在 com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:285) 在 com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2431) 在 com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:656) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2440) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162) 在 com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735) 在 org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55) ... 23 更多 !SUBENTRY 2 org.hibernate.eclipse.console 4 150 2019-07-13 01:20:30.360 !MESSAGE org.hibernate.exception.JDBCConnectionException:调用驱动程序时出错#connect !堆栈 0 org.hibernate.exception.JDBCConnectionException:调用 Driver#connect 时出错 在 org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140) 在 org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75) 在 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 在 org.jboss.tools.hibernate.runtime.v_4_3.internal.ConfigurationFacadeImpl.buildTargetSessionFactory(ConfigurationFacadeImpl.java:19) 在 org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildSessionFactory(AbstractConfigurationFacade.java:170) 在 org.hibernate.console.ConsoleConfiguration$5.execute(ConsoleConfiguration.java:284) 在 org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63) 在 org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107) 在 org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:279) 在 org.hibernate.eclipse.console.workbench.LazySessionFactoryAdapter.getChildren(LazySessionFactoryAdapter.java:43) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104) 在 org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:219) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) 原因:com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败。错误:“连接被拒绝:连接。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止."。 在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) 在 com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:285) 在 com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2431) 在 com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:656) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2440) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162) 在 com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735) 在 org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55) ... 23 更多 !SUBENTRY 2 org.hibernate.eclipse.console 4 150 2019-07-13 01:20:30.361 !MESSAGE com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 localhost 的 TCP/IP 连接,端口 1433 失败。错误:“连接被拒绝:连接。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止."。 !堆栈 0 com.microsoft.sqlserver.jdbc.SQLServerException:与主机 localhost、端口 1433 的 TCP/IP 连接失败。错误:“连接被拒绝:连接。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止."。 在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:234) 在 com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:285) 在 com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2431) 在 com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:656) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2440) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162) 在 com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735) 在 org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55) 在 org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75) 在 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) 在 org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 在 org.jboss.tools.hibernate.runtime.v_4_3.internal.ConfigurationFacadeImpl.buildTargetSessionFactory(ConfigurationFacadeImpl.java:19) 在 org.jboss.tools.hibernate.runtime.common.AbstractConfigurationFacade.buildSessionFactory(AbstractConfigurationFacade.java:170) 在 org.hibernate.console.ConsoleConfiguration$5.execute(ConsoleConfiguration.java:284) 在 org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63) 在 org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:107) 在 org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:279) 在 org.hibernate.eclipse.console.workbench.LazySessionFactoryAdapter.getChildren(LazySessionFactoryAdapter.java:43) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:98) 在 org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:104) 在 org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:219) 在 org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
我的sql server数据库名是Testing,在我的本地PC上运行,用户名=sa 密码=!QAZ2wsx
服务器名称为 KEI-PC\SQLEXPRESS
我下载了mssql-jdbc-7.2.2.jre8.jar,可以在我的项目Referenced Libraries中看到com.microsoft.sqlserver.jdbc.SQLServerDriver.class这个类,
那么有什么问题呢?
【问题讨论】:
标签: sql-server hibernate jdbc