У меня есть веб-приложение, развернутое в tomcat7 на centos7, openjdk8. В веб-приложении используется драйвер ms sql server sqljdbc4-2.0.jar, который безуспешно пытается подключиться к серверу sql на компьютере windows. Вот журналы:
org. apache .commons.dbcp.SQLNestedException: Невозможно создать PoolableConnectionFactory (Соединение TCP / IP с хостом iam2w19.iam.lab, порт 1433 не удалось. Ошибка: «Разрешение» отказано (соединение не установлено). Проверьте свойства соединения, убедитесь, что экземпляр SQL Сервер работает на хосте и принимает соединения TCP / IP через порт, и что ни один брандмауэр не блокирует соединения TCP с портом. ".) в орг. apache .commons.dbcp.BasicDataSource.createPoolableConnectionFactory (BasicDataSource. java: 1549) ~ [commons-dbcp-1.3.jar: 1.3] в орг. apache .commons.dbcp.BasicDataSource.ource (ресурс BasicDataSource. java: 1388) ~ [commons-dbcp-1.3.jar: 1.3] в орг. apache .commons.dbcp.BasicDataSource.getConnection (BasicDataSource. java: 1044) ~ [commons-dbcp-1.3 .jar: 1.3] в com.arcot.common.database.DBManagerImpl.getConnection (DBManagerImpl. java: 60) ~ [arcot-common-2.3.jar :?] в com.ibatis.sqlmap.engine.transaction.jdb c .JdbcTransaction.init (JdbcTransaction. java: 48) ~ [ibatis-2.3.4.726.jar :?] at com.ibatis.sqlmap.engine.transaction.jdb c .JdbcTransaction.getConnection (JdbcTransaction. java: 89) ~ [ibatis-2.3 .4.726.jar :?] на com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList (MappedStatement. java: 139) ~ [ibatis-2.3.4.726.jar :?] на com.ibatis.sqlmap , 541) ~ [ibatis-2.3.4.726.jar :?] в com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList (SqlMapSessionImpl. java: 118) ~ [ibatis-2.3.4.726.jar :?] в com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList (SqlMapSessionImpl. java: 122) ~ [ibatis-2.3.4.726.jar :?] в com.ibatis.sqlmap.engine.impl.SqlMapClientlll. . java: 98) ~ [ibatis-2.3.4.726.jar :?] at com.arcot.common.cache.db.CacheRefreshService.getCacheRefreshState (CacheRef reshService. java: 125) [arcot-common-2.3.jar :?] at com.arcot.common.cache.CacheRefresher.readCacheState (CacheRefresher. java: 146) [arcot-common-2.3.jar :? ] на com.arcot.common.cache.CacheRefresher.initialize (CacheRefresher. java: 97) [arcot-common-2.3.jar :?] на com.arcot.common.cache.CacheRefresher. (CacheRefresher. java : 91) [arcot-common-2.3.jar :?] на com.arcot.common.cache.CacheRefresher.getInstance (CacheRefresher. java: 152) [arcot-common-2.3.jar :?] на com.arcot .admin.framework.config.AdminConfigManagerImpl.init (AdminConfigManagerImpl. java: 58) [AdminConfigManagerImpl.class :?] в com.arcot.admin.framework.config.AdminConfigManagerImpl .MigagerImpl. .class :?] at com.arcot.admin.framework.config.AdminConfigMgmt.getConfigurationManager (AdminConfigMgmt. java: 13) [AdminConfigMgmt.class :?] в com.arcot.admin.framework.init.Admin PrintUtil. java: 60) [PrintUtil.class :?] на com.arcot.admin.framework.init.AdminInitMan ager.initApplication (AdminInitManager. java: 167) [AdminInitManager.class :?] at com.arcot.admin.framework.web.init.ArcotAdminInitServlet.init (ArcotAdminInitServlet. java: 38) [ArcotAditInc. ] в орг. apache .catalina.core.StandardWrapper.initServlet (StandardWrapper. java: 1269) [catalina.jar: 7.0.76] в орг. apache .catalina.core.StandardWrapper.loadServlet (StandardWrapper. java: 1182) [catalina.jar: 7.0.76] в орг. apache .catalina.core.StandardWrapper.load (StandardWrapper. java: 1072) [catalina.jar: 7.0.76] в орг. apache .catalina.core. StandardContext.loadOnStartup (StandardContext. java: 5368) [catalina.jar: 7.0.76] в орг. apache .catalina.core.StandardContext.startInternal (StandardContext. java: 5660) [catalina.jar: 7.0 .76] в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 145) [catalina.jar: 7.0.76] в орг. apache .catalina.core.ContainerBase.addChildInternal ( ContainerBase. java: 899) [catalina.jar: 7.0.76] в орг. apache .catalina.core.ContainerBase.addChild (ContainerBase. java: 875) [catalina.jar: 7.0.76] в org. apache .catalina.core.StandardHost.addChild (StandardHost. java: 652) [catalina.jar: 7.0.76] at org. apache .catalina.startup.HostConfig.deployWAR (HostConfig. java: 1092) [catalina.jar: 7.0.76] в орг. apache .catalina.startup.HostConfig $ DeployWar.run (HostConfig. java: 1984) [catalina.jar: 7.0.76] в java .util.concurrent.Executors $ RunnableAdapter.call (Executors. java: 511) [?: 1.8.0_242] в java .util.concurrent.FutureTask.run (FutureTask. java: 266) [? : 1.8.0_242] в java .util.concurrent.ThreadPoolExec utor.runWorker (ThreadPoolExecutor. java: 1149) [?: 1.8.0_242] в java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 624) [?: 1.8.0_242] в java .lang.Thread.run (Thread. java: 748) [?: 1.8.0_242] Причина: com.microsoft.sqlserver.jdb c .SQLServerException: TCP / IP-соединение с хостом iam2w19 .iam.lab, порт 1433 не удалось. Ошибка: «В доступе отказано (соединение не установлено). Проверьте свойства соединения, убедитесь, что экземпляр SQL Сервер работает на хосте и принимает соединения TCP / IP на порту, и что ни один брандмауэр не блокирует соединения TCP с портом. ".. на com.microsoft.sqlserver.jdb c .SQLServerException.makeFromDriverError (SQLServerException. java: 170) ~ [sqljdbc4-2.0.jar :?] на com.microsoft.sqlserver.jdb c .SQLServerConneper.connect SQLServerConnection. java: 1049) ~ [sqljdbc4-2.0.jar :?] в com.microsoft.sqlserver.jdb c .SQLServerConnection.login (SQLServerConnection. java: 833) ~ [sqljdbc4-2.0.jar: ?] на com.microsoft.sqlserver.jdb c .SQLServerConnection.connect (SQLServerConnection. java: 716) ~ [sqljdbc4-2.0.jar :?] на com.microsoft.sqlserver.jdb c .SQLServerDriver. connect (SQLServerDriver. java: 841) ~ [sqljdbc4-2.0.jar :?] at org. apache .commons.dbcp.DriverConnectionFactory.createConnection (DriverConnectionFactory. java: 38) ~ [commons-dbcp-1.3 .jar: 1.3] в орг. apache .commons.dbcp.PoolableConnectionFactory.makeObject (PoolableConnectionFactory. java: 582) ~ [commons-dbcp-1.3.jar: 1.3] в орг. apache .commons.dbcp .BasicDataSource.validateConnectionFactory (BasicDataSource. java: 1556) ~ [commons-dbcp-1.3.jar: 1.3] в организации. * 109 5 * .commons.dbcp.BasicDataSource.createPoolableConnectionFactory (BasicDataSource. java: 1545) ~ [commons-dbcp-1.3.jar: 1.3]
С простым классом java с использованием того же драйвера I можно без проблем подключиться из centos к sqlserver 2016 на windows.
Проблема выглядит локализованной на tomcat, но мне кажется, что calalina.policy с конфигурацией по умолчанию мне подходит: in / usr / share / tomcat / lib все банки имеют все разрешения. / usr / share / tomcat - это CATALINA_HOME, а в CATALINA_HOME / lib я скопировал sqljdbc4-2.0.jar.
У вас есть какие-либо предложения?
Спасибо, Беппе