我使用oracle驱动,配置了环境变量:C:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib\ojdbc14.jar;java代码如下:
package com.nj180.study.jdbc;
import java.sql.*;
public class FirstOracleJdbc {
public static void main(String[] args) throws ClassNotFoundException{
ResultSet rs=null;
Connection conn=null;
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:5500:test","myoracle","myoracle");
Statement st=conn.createStatement();
String sql="select * from student";
rs=st.executeQuery(sql);
while(rs.next()){
System.out.println("ID="+rs.getInt("id"));
System.out.println("Name="+rs.getString("name"));
System.out.println("pohne="+rs.getInt("pohne"));
System.out.println("Birthday="+rs.getInt("birthday"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
rs.close();
}catch(Exception e){
}
try{
conn.close();
}catch(Exception e){
}
}
}}
运行的时候报错:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.nj180.study.jdbc.FirstOracleJdbc.main(FirstOracleJdbc.java:20)
我的oracle账号在命令行里是可以登录的,是不是5500端口的错误呢?我是看oracle给我生成了Https://localhost:5500/em请高手指教。
package com.nj180.study.jdbc;
import java.sql.*;
public class FirstOracleJdbc {
public static void main(String[] args) throws ClassNotFoundException{
ResultSet rs=null;
Connection conn=null;
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:5500:test","myoracle","myoracle");
Statement st=conn.createStatement();
String sql="select * from student";
rs=st.executeQuery(sql);
while(rs.next()){
System.out.println("ID="+rs.getInt("id"));
System.out.println("Name="+rs.getString("name"));
System.out.println("pohne="+rs.getInt("pohne"));
System.out.println("Birthday="+rs.getInt("birthday"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try{
rs.close();
}catch(Exception e){
}
try{
conn.close();
}catch(Exception e){
}
}
}}
运行的时候报错:
java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.nj180.study.jdbc.FirstOracleJdbc.main(FirstOracleJdbc.java:20)
我的oracle账号在命令行里是可以登录的,是不是5500端口的错误呢?我是看oracle给我生成了Https://localhost:5500/em请高手指教。
后面的test去掉,connection加上用户名和密码,则访问的就是登录用户名的所在数据库模式
em=enterprise manager企业管理器的服务的端口号,这是oracle的管理端的服务,它是一个web应用。
这个说错了,不好意思,test不要去掉。
171962830 在此一游!
DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1521;DatabaseName=你的数据库名字;user=用户名;password=密码");
Statement st=conn.createStatement();
st.close()没有
后面的test去掉,connection加上用户名和密码,则访问的就是登录用户名的所在数据库模式