本人用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