-
Java Web连接MySql数据库,修改数据库连接类中的用户名和密码没有效果?
2015-12-12 04:51:36现在在做一个项目,其中编写了数据库连接及操作的类。 1、ConnDB类。 package com.wgh.tools; import java.io.InputStream; //导入java.io.InputStream类 import java.sql.*; //导入java.sql包中的所有类 import ... -
com.microsoft.sqlserver.jdbc.SQLServerException: 到指定实例 的连接失败。错误: java.net.Socke...
2011-09-06 16:01:00今天在一台安装sql server 2005的机器上安装了sql server 2008,...com.microsoft.sqlserver.jdbc.SQLServerException: 到指定实例 的连接失败。错误: java.net.Socke 及 com.microsoft.sqlserver.jdbc.SQLServerE...今天在一台安装sql server 2005的机器上安装了sql server 2008, 在用JDBC连接sql server 2008数据库时报
com.microsoft.sqlserver.jdbc.SQLServerException: 到指定实例 的连接失败。错误: java.net.Socke
及
com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 192.168.10.2/MSSQLSERVER2008 的 TCP/IP 连接失败。错误:“null。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1049)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44)为了查找问题,我先通过SQL Server Management Studio连接sql server 2008
服务器名:192.168.10.2\MSSQLSERVER2008(这个是机器IP\实例名称)
发现能正常访问
再通过配置管理器将sql server 2005的tcp/ip协议的关闭
将sql server 2008的tcp/ip协议开启,在设置IP地址时,我发现IPALL这一栏的TCP端口没有设置,
按照IP1栏中的端口一样设置就OK了,重启后问题解决(具体设置看附件截图)
连接多个sql server 实例的URL为
String url = "jdbc:sqlserver://192.168.10.2:1433;instanceName=MSSQLSERVER2008;DatabaseName=ecology";
-
jdbc通过1433端口连接sqlserver数据库总是失败
2016-05-05 03:05:48System.out.println("连接失败!"); } return Con; } } 图片说明]... -
java无法链接sql数据库_java-无法使用Spring连接到Azure SQL数据库服务...
2021-03-11 11:11:41我可以连接到具有IP地址的数据库,但是如果我在Azure SQL数据库服务器中...与名为实例sqlexpress的实例的主机vinayaka.cloudapp.net,555的连接失败.错误:“ java.net.UnknownHostException:vinayaka.cloudapp.net,...我可以连接到具有IP地址的数据库,但是如果
我在Azure SQL数据库服务器中创建了数据库,因为我无法使用Spring Configuration Java Web应用程序进行连接.
与名为实例sqlexpress的实例的主机vinayaka.cloudapp.net,555的连接失败.错误:“ java.net.UnknownHostException:vinayaka.cloudapp.net,555”.验证服务器和实例的名称,并检查是否没有防火墙阻止UDP通讯到端口1434.对于SQL Server 2005或更高版本,请验证主机上是否正在运行SQL Server Browser服务.
春天-config.xml中
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
注意:
1)我能够在SQL Server Management Studio中打开该服务器并在该服务器上工作.
2)如果能够在SQL Server Management Studio中打开,则表示防火墙允许我的计算机IP地址.
3)我可以连接到在Azure SQL数据库中创建的数据库.
请对此提出建议.
-
Java如何连接多实例SQL Server?
2016-06-01 15:31:40Java如何连接多实例SQL Server? Java连接SQL Server一般字符串:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名; 一般抛出的错误: Exception1: 无法打开登录所请求的数据库 "数据库名"。...Java如何连接多实例SQL Server?Java连接SQL Server一般字符串:jdbc:sqlserver://127.0.0.1:1433;DatabaseName=数据库名;Exception1: 无法打开登录所请求的数据库 "数据库名"。登录失败。【一般不会报这个错误,除非你多个实例都打开了】
一般抛出的错误:
Exception2: 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败。错误:“java.net.SocketTimeoutException: Receive timed out”。请验证服务器和实例名称,并检查防火墙没有阻止到端口 1434 的 UDP 通信,而且对于 SQL Server 2005 或更高版本,还要验证 SQL Server Browser 服务正在主机上运行。【主要错误】
以上错误都可参考以下方案解决。
大家应该知道:
如果机器上安装的是SQLServer的默认实例(比如SQL Server2005,那么一般连接的服务器名称是本机名或用"."、“localhost”、本机环回地址“127.0.0.1”来代替,这即是安装时的默认实例),那么就是通过TCP 默认1433端口远程连接。当然如果你打开了防火墙,需要放开1433端口。然而,如果机器上有多个数据库实例,如又安装了SQL Server2008,或者SQL Server2008R2等,这时,问题就来了:
对于c#而言,对付多个数据库实例,在连接时的连接字符串使用“本机名+\\+实例名”,如下
string connectionString = "Data Source=.\\mssqlserver2008;Initial Catalog=MyBookShop;User ID=sa;password=123456";
来代替原先的单个数据库实例连接
string connectionString = "Data Source=.;Initial Catalog=MyBookShop;User ID=sa;password=123456";
即可。
而对于java,对付多个数据库实例就有些要注意的了(本人为解决这个问题,在这儿停滞了数天无进展)。
首先,同样连接字符串上加上“\\实例名”:jdbc:sqlserver://127.0.0.1\\mssqlserver2008;DatabaseName=LPT; 并且应去掉端口1433。因为连接数据库自命名实例的url中没有端口号1433,这是SQLServer中的管理机制决定的,这样连接默认是UDP是1434端口。如果你打开了防火墙,需要放开UDP 1434端口。
之后, 需要打开SQL Browser service服务,此时,Java才能正确连接你的另一个实例名”mssqlserver2008“的数据库。
在J2EE的开发道路上遇到的这些问题及其解决方案,都应该记上一笔,既为现在可以记得更深不易忘,亦为以后查阅随记还能懂。 -
java通过JdbcTemplate连接多个(2个以上)不同类型的数据库
2020-06-02 11:47:50step1 新增数据库连接信息(主机,端口,数据库类型,实例名,用户名,密码,状态) step2 测试连接,成功状态正常,失败不正常 step3 创建JdbcTemplate对象,保存到map中(key=唯一标识符,value=JdbcTemplate...1、业务场景
要求获取不同数据库的表信息和表结构信息,数据库类型包括oracle,MySQL,SqlServer。
2、实现思路
step1 新增数据库连接信息(主机,端口,数据库类型,实例名,用户名,密码,状态)
step2 测试连接,成功状态正常,失败不正常
step3 创建JdbcTemplate对象,保存到map中(key=唯一标识符,value=JdbcTemplate对象),避免重复创建销毁
step4 通过SQL语句获取表信息和表结构
step5定时检查map,销毁不常用的JdbcTemplate对象
3、代码
工厂类生成JdbcTemplate对象。
package com.aadata.etl.cache; import com.aadata.etl.model.DbConnInfo; import com.aadata.etl.util.DateUtil; import com.aadata.etl.util.StringUtil; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.sql.DataSource; import java.text.ParseException; import java.util.*; @Component @EnableScheduling public class DbConnectCache { public static Map<String, JdbcTemplate> jdbcMap= new HashMap<String, JdbcTemplate>(); public static Map<String, Date> jdbcUseTimeMap= Collections .synchronizedMap(new HashMap<String, Date>()); private static DataSource primaryDataSource(DbConnInfo info) { DataSourceBuilder<?> one = DataSourceBuilder.create(); one.driverClassName(info.getDbType()); one.password(info.getDbPassword()); one.url(info.getDbUrl()); one.username(info.getDbUserName()); return one.build(); } public static JdbcTemplate getJdbcTemplate(DbConnInfo info){ if(StringUtil.isNotEmpty(info.getDbType()) && StringUtil.isNotEmpty(info.getDbUserName()) && StringUtil.isNotEmpty(info.getDbPassword()) && StringUtil.isNotEmpty(info.getDbUrl())){ if("oracle".equals(info.getDbType())){ info.setDbType("oracle.jdbc.driver.OracleDriver"); }else if("SQLServer".equals(info.getDbType())){ info.setDbType("com.microsoft.sqlserver.jdbc.SQLServerDriver"); }else{ return null; } } DataSource dbs = primaryDataSource(info); if(dbs != null){ JdbcTemplate jdbc = new JdbcTemplate (primaryDataSource(info)); jdbcMap.put(info.getDbConnInfoSn(), jdbc); return jdbc; }else{ return null; } } /** * 定时检查jdbc对象数 * @throws ParseException */ @Scheduled(cron = "0/5 * * * * ?") private void configureTasks() throws ParseException { int count = jdbcMap.size(); if(count > 5){ Date now = new Date(); for(Iterator<String> iterator = jdbcUseTimeMap.keySet().iterator(); iterator.hasNext(); ) { String key = iterator.next(); int hours = DateUtil.compare2DateGetHour(jdbcUseTimeMap.get(key),now); if(hours>1){ jdbcMap.remove(key); iterator.remove(); } } } System.gc(); } }
获取表名和表结构
/** * 获取指定数据库用户下的表名 * @param info * @return */ public static List<Map<String, Object>> getTableNameList(DbConnInfo info){ JdbcTemplate jdbc = null; if(DbConnectCache.jdbcMap.containsKey(info.getDbConnInfoSn())){ jdbc = DbConnectCache.jdbcMap.get(info.getDbConnInfoSn()); }else{ jdbc = DbConnectCache.getJdbcTemplate(info); } if(jdbc != null){ DbConnectCache.jdbcUseTimeMap.put(info.getDbConnInfoSn(),new Date()); String sql = "select TABLE_NAME ,COMMENTS from user_tab_comments where table_type='TABLE'"; List<Map<String, Object>> list = jdbc.queryForList(sql); return list; }else{ return null; } } /** * 获取指定数据库的指定表的字段和字段注释 * @param info * @param table * @return */ public static List<Map<String, Object>> getTableField(DbConnInfo info, String table) { JdbcTemplate jdbc = null; if(DbConnectCache.jdbcMap.containsKey(info.getDbConnInfoSn())){ jdbc = DbConnectCache.jdbcMap.get(info.getDbConnInfoSn()); }else{ jdbc = DbConnectCache.getJdbcTemplate(info); } if(jdbc != null){ DbConnectCache.jdbcUseTimeMap.put(info.getDbConnInfoSn(),new Date()); String sql = "select tmp.*,DATA_TYPE from (select column_name,comments from user_col_comments where table_name=upper('"+table+"')) tmp" +" left join (select column_name,DATA_TYPE from user_tab_columns " + " where table_name = upper('"+table+"')) tmp0 on tmp.column_name=tmp0.column_name"; List<Map<String, Object>> list = jdbc.queryForList(sql); return list; }else{ return null; } }
4、补充说明
如果数据库在2个且连接信息固定不变,可以考虑用mybatis的databaseId或者数据连接池。
-
aws java mysql_部署在AWS-EC2上的Java程序无法连接AWS-RDS MySQL 数据库的问题解决
2021-01-19 14:10:18当我执行 java -jar app.jar 命令时,SpringBoot应用程序能正常启动,但连接MySQL RDS数据库时却失败了。已经打开了应用程序正在运行的端口(8090)和MySql端口(3306),用于入站和出站流量:错误日志2020-10-30 17:46:... -
java连接sqlserver非默认实例连接字符串设置
2017-11-12 23:23:00找了很多天关于jtds连接池的连接非sqlserver默认实例的方法终于找到了,因为部署程序的时候服务器的sqlserver2008不是r2但是数据库备份的是r2还原不到里面,所以第一个办法就是升级到R2,可是有可能失败,这样我们就... -
Java基础(三十二)JDBC(2)连接数据库
2018-08-06 16:57:00不过只需在第一次访问数据库时加载一次,然后在每次访问数据库时创建一个Connection实例,然后执行操作数据库的SQL语句,并返回执行结果,最后在完成此次操作时销毁前面创建的Connection实例,释放与数据库的连接。... -
-
jdbc mysql user_tab_comments_java通过JdbcTemplate连接多个(2个以上)不同类型的数据库...
2021-02-01 06:30:382、实现思路step1 新增数据库连接信息(主机,端口,数据库类型,实例名,用户名,密码,状态)step2 测试连接,成功状态正常,失败不正常step3 创建JdbcTemplate对象,保存到map中(key=唯一标识符,value=... -
警告: DbConnectionManager.getConnection() 获得数据库链接失败.
2018-12-27 10:27:06* 功能:关闭数据库的连接 */ public void close() { try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close()... -
druid数据连接池实例化失败的问题
2017-09-22 15:02:44最近在用druid的数据库连接池,在eclipse代码运行正常,当打包成jar就会报 java.lang.NoClassDefFoundError: Could not initialize class***的错误,因为开发进度的原因只能抽时间查问题.后来发现是连接池类中... -
java通过端口1433连接到主机_通过端口1433连接到主机失败
2021-03-18 00:20:30应该是连不上数据库,例如1433端口被防火墙阻止等原因,异常信息还是比较清楚的:通过端口1433连接到主机:10.102.36.248的TCP/IP连接失败。错误:“null。请验证连接属性,并检查SQLServer的实例正在主机上运行,且在... -
springboot配置连接rds_java – 在AWS-EC2上运行的SpringBoot应用程序无法连接到MySQL AWS-RDS数据库...
2020-12-31 12:58:52我在运行我在EC2实例中...问题是当我在我的机器上本地运行应用程序时,它与数据库连接没有任何问题.我打开了应用程序运行的端口(8090)和MySql端口(3306),用于入站和出站流量:这是我得到的错误:2016-09-23 17:46:3... -
java连接mssql异常
2016-01-18 11:04:32在jar、数据库连接没有错误时报: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查SQL ... -
通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败
2019-06-12 22:12:47## # 错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙... -
java基础代码实例_java学习之web基础(3):Servlet 和 Request的登录处理实例
2020-12-01 19:19:49登录成功跳转到...我们这里使用了以下技术:使用Druid数据库连接池技术,操作mysql,使用spring的JdbcTemplate技术封装JDBC。对于实体类的封装,我们后面使用了apache的BeanUtils进行了简化代码中我们编... -
Java和sql server2012连接问题
2015-06-27 04:22:40com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此... -
JDBC连接数据库,查询出错,,,,,,
2015-05-07 14:29:41// 数据库连接 Statement stmt = null ; ResultSet rs = null ; // 查询要处理结果集 String sql = null ; String myrisbn = null ; boolean flag = false ; // 保存标记 %> String mynum=request.... -
通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。...
2012-12-02 20:20:01通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到... -
java request 跳转_java学习之web基础(3):Servlet 和 Request的登录处理实例
2021-03-08 21:46:58登录成功跳转到...我们这里使用了以下技术:使用Druid数据库连接池技术,操作mysql,使用spring的JdbcTemplate技术封装JDBC。对于实体类的封装,我们后面使用了apache的BeanUtils进行了简化代码中我们编... -
JDBC连接数据库,跟着网上改来改去,还是没能解决
2015-11-18 06:20:35运行结果: 加载驱动成功! ...警告: ConnectionID:1 ClientConnectionId: 04507fef-5884-492c-99c2-239b325181ab Prelogin error: host localhost port 1433 Unexpected response type:72 ...SQL Server连接失败! -
java连接不上sq server 2012 express的解决方法
2017-11-19 00:45:25ERROR:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要... -
sql server 2017数据库Debug
2019-06-20 10:04:40通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到... -
Oracle数据库精讲与疑难解析part2
2013-07-29 11:26:3221.1.1 数据库失败的种类 21.1.2 备份和恢复的解决方案 21.1.3 备份和恢复的物理结构 21.1.4 备份的类型 21.1.5 执行用户管理的备份 21.2 恢复管理器(rman) 21.2.1 通道 21.2.2 备份集的... -
Oracle数据库精讲与疑难解析part1
2013-07-29 11:24:4121.1.1 数据库失败的种类 21.1.2 备份和恢复的解决方案 21.1.3 备份和恢复的物理结构 21.1.4 备份的类型 21.1.5 执行用户管理的备份 21.2 恢复管理器(rman) 21.2.1 通道 21.2.2 备份集的... -
Oracle数据库管理员技术指南
2010-03-30 12:34:451.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立...