精华内容
下载资源
问答
  • 现在在做一个项目,其中编写了数据库连接及操作的类。 1、ConnDB类。 package com.wgh.tools; import java.io.InputStream; //导入java.io.InputStream类 import java.sql.*; //导入java.sql包中的所有类 import ...
  • 今天在一台安装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";

     

     

    展开全文
  • System.out.println("连接失败!"); } return Con; } } ![![![![图片说明](https://img-ask.csdn.net/upload/201605/05/1462417358_289781.png)图片说明]...
  • 我可以连接到具有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:40
    Java如何连接实例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的开发道路上遇到的这些问题及其解决方案,都应该记上一笔,既为现在可以记得更深不易忘,亦为以后查阅随记还能懂。
    展开全文
  • step1 新增数据库连接信息(主机,端口,数据库类型,实例名,用户名,密码,状态) 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或者数据连接池。

    展开全文
  • 当我执行 java -jar app.jar 命令时,SpringBoot应用程序能正常启动,但连接MySQL RDS数据库时却失败了。已经打开了应用程序正在运行的端口(8090)和MySql端口(3306),用于入站和出站流量:错误日志2020-10-30 17:46:...
  • 找了很多天关于jtds连接池的连接非sqlserver默认实例的方法终于找到了,因为部署程序的时候服务器的sqlserver2008不是r2但是数据库备份的是r2还原不到里面,所以第一个办法就是升级到R2,可是有可能失败,这样我们就...
  • 不过只需在第一次访问数据库时加载一次,然后在每次访问数据库时创建一个Connection实例,然后执行操作数据库的SQL语句,并返回执行结果,最后在完成此次操作时销毁前面创建的Connection实例,释放与数据库连接。...
  • 2、实现思路step1 新增数据库连接信息(主机,端口,数据库类型,实例名,用户名,密码,状态)step2 测试连接,成功状态正常,失败不正常step3 创建JdbcTemplate对象,保存到map中(key=唯一标识符,value=...
  • * 功能:关闭数据库连接 */ 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***的错误,因为开发进度的原因只能抽时间查问题.后来发现是连接池类中...
  • 应该是连不上数据库,例如1433端口被防火墙阻止等原因,异常信息还是比较清楚的:通过端口1433连接到主机:10.102.36.248的TCP/IP连接失败。错误:“null。请验证连接属性,并检查SQLServer的实例正在主机上运行,且在...
  • 我在运行我在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 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙...
  • 登录成功跳转到...我们这里使用了以下技术:使用Druid数据库连接池技术,操作mysql,使用spring的JdbcTemplate技术封装JDBC。对于实体类的封装,我们后面使用了apache的BeanUtils进行了简化代码中我们编...
  • com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此...
  • // 数据库连接 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。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到...
  • 登录成功跳转到...我们这里使用了以下技术:使用Druid数据库连接池技术,操作mysql,使用spring的JdbcTemplate技术封装JDBC。对于实体类的封装,我们后面使用了apache的BeanUtils进行了简化代码中我们编...
  • 运行结果: 加载驱动成功! ...警告: ConnectionID:1 ClientConnectionId: 04507fef-5884-492c-99c2-239b325181ab Prelogin error: host localhost port 1433 Unexpected response type:72 ...SQL Server连接失败
  • ERROR:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要...
  • 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到...
  •  21.1.1 数据库失败的种类  21.1.2 备份和恢复的解决方案  21.1.3 备份和恢复的物理结构  21.1.4 备份的类型  21.1.5 执行用户管理的备份  21.2 恢复管理器(rman)  21.2.1 通道  21.2.2 备份集的...
  •  21.1.1 数据库失败的种类  21.1.2 备份和恢复的解决方案  21.1.3 备份和恢复的物理结构  21.1.4 备份的类型  21.1.5 执行用户管理的备份  21.2 恢复管理器(rman)  21.2.1 通道  21.2.2 备份集的...
  • 1.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立...

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
关键字:

java实例数据库连接失败

java 订阅