照楼上的做了,编译可以通过,数据库可以用其他工具连上, 就是JAVA连时有问题,驱动没问题,是不是数据库的问题。 (我有两快网卡,不知道有没哟问题)G:\Thinking In Jave>java OracleThin localhost oradb scott tiger Connect localhost:oradb Error:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=1250 )(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=15 092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:334 at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.j va:442) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at OracleThin.connectByJdbc(OracleThin.java:37) at OracleThin.main(OracleThin.java:71)
到DB服务器本地执行试试
thin方式
Oracle OCI Thin Type 4 Driver
Class: oracle.jdbc.driver.OracleDriver
URL: jdbc:oracle:thin:@:: 先到Oracle技术网(http://otn.oracle.com/global/cn/software/tech/java/sqlj_jdbc/index.html)下载Oracle JDBC Drivers,同样地将下载后的zip文件的路径设置在环境变量classpath。 然后通过以下的数据库连接类,在本地通过thin方式获得Oracle数据库连接。
*//**
* 在本地获得数据库连接
*/import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.*;
import javax.naming.*;/**
* 通过thin方式获得Oracle数据库连接
*/
//javac OracleThin.java
//java OracleThin
public class OracleThin
{
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
private String sConnStr = ""; /**
* @param ip,serviceName
*/
public OracleThin(String ip,String serviceName)
{
sConnStr = "jdbc:oracle:thin:@" + ip + ":1521:" + serviceName;
} /**
* 通过thin方式获得Oracle数据库的连接.
* @param userId,password
*/
public Connection connectByJdbc(String userId,String password)
{
Connection conn = null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(sConnStr,userId,password);
Statement stmt = conn.createStatement();
ResultSet rsTemp = null;
rsTemp = stmt.executeQuery("Select User,SysDate,RowID From Dual");
while(rsTemp.next())
{
System.out.print(rsTemp.getString("User") + "\t" + rsTemp.getString("SysDate") + "\t" + rsTemp.getString("RowID"));
}
}
catch(Exception e)
{
System.out.println("Error:" + e.getMessage());
e.printStackTrace();
}
return conn;
} public static void main(String[] args)
{
String strServer = "localhost";
String strOracle = "ORCL";
String strUserName = "SYSTEM";
String strPassWord = "YuLimin"; if(args.length == 4)
{
strServer = args[0];
strOracle = args[1];
strUserName = args[2];
strPassWord = args[3];
}
System.out.println("Connect " + strServer + ":" + strOracle);
OracleThin oracleThin = new OracleThin(strServer,strOracle);
oracleThin.connectByJdbc(strUserName,strPassWord);
}
}//这种方式运用起来比较灵活,简单,具有较强的移植性和适用性。
//只要注意连接字符串"jdbc:oracle:thin:@localhost:ORCL"中具体参数的设置即可。
就是JAVA连时有问题,驱动没问题,是不是数据库的问题。
(我有两快网卡,不知道有没哟问题)G:\Thinking In Jave>java OracleThin localhost oradb scott tiger
Connect localhost:oradb
Error:Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153092352)(ERR=1250
)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=15
092352)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:180)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:222)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:335)
at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:334 at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.j
va:442)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:321)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at OracleThin.connectByJdbc(OracleThin.java:37)
at OracleThin.main(OracleThin.java:71)