开发者社区> 问答> 正文

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

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

展开
收起
爱吃鱼的程序员 2020-06-23 15:58:58 1035 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    $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

    配置文件

    driver=oracle.jdbc.driver.OracleDriver#url=jdbc:oracle:thin:@127.0.0.1:1521:orcldb_ip=127.0.0.1db_name=orclusername=namepassword=pwd

    getConnection文件

    /***1.初始化常量*driverName驱动名称*url连接的数据库的路径*username数据库用户账户*password数据库用户密码*/static{InputStreaminput=JdbcUtils.class.getClassLoader().getResourceAsStream("MediateDB.properties");Propertiesproperties=newProperties();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=newBasicDataSource();dataSource.setDriverClassName(driverName);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPassword(password);}catch(IOExceptione){e.printStackTrace();}}/***2.连接数据库的方法*@return*@throwsSQLException*/publicstaticConnectiongetConnection()throwsSQLException{if(conn==null)conn=dataSource.getConnection();returnconn;}

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

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

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

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

    2020-06-23 15:59:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像