jdbc 驱动连接oracle数据库报错Unknown host specified

本人用jdbc驱动连接数据库的时候,通过jdbc:oracle:thin:@TNSNAME
方式,报错,看到网上有人说,设置System.setProperty("oracle.net.tns_admin",“TNS路径”);可以实现,但是情况是我不知道TNS路径,怎么解决

$ORACLE_HOME\network\admin\tnsnames.ora
例如:
【windows】
C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
linux或unix
/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora

jdbc字符串类似这样jdbc:oracle:thin:@127.0.0.1:1521:orcl
并不需要tns配置

尽量用域名方式比较好,如果更换ip地址也容易。

配置文件

driver=oracle.jdbc.driver.OracleDriver
# url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
db_ip=127.0.0.1
db_name=orcl
username=name
password=pwd

getConnection文件

 /** 
     * 1.初始化常量 
     * driverName   驱动名称 
     * url          连接的数据库的路径 
     * username     数据库用户账户 
     * password     数据库用户密码 
     */
    static{
        InputStream input = 
                JdbcUtils.class.getClassLoader().getResourceAsStream("MediateDB.properties");
        Properties properties = new Properties();
        try {
            properties.load(input);
            driverName = properties.getProperty("driver");
            username = properties.getProperty("username");
            password = properties.getProperty("password");
            url = "jdbc:oracle:thin:@"+properties.getProperty("db_ip")+":1521:"+properties.getProperty("db_name");

            dataSource = new BasicDataSource();  
            dataSource.setDriverClassName(driverName);  
            dataSource.setUrl(url);  
            dataSource.setUsername(username);  
            dataSource.setPassword(password); 

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

        /** 
     * 2.连接数据库的方法 
     * @return 
     * @throws SQLException 
     */  
    public static Connection getConnection() throws SQLException{ 
        if(conn == null)  
            conn = dataSource.getConnection();
        return conn;  
    }  

ip(127.0.0.1) 端口(1521)找负责人要,没有怎么开发。端口默认是1521,IP你要一下
TNSNAME也是在oracle的配置文件里配置了IP和端口,name为TNSNAME。主要用于PLSQL工具链接数据库方便。

并不需要tns配置 jdbc字符串类似这样jdbc:oracle:thin:@127.0.0.1:1521:orcl