读书人

java连接oracle数据库的有关问题

发布时间: 2012-02-07 17:45:37 作者: rapoo

java连接oracle数据库的问题
我的oracle http和数据库服务都开着的

出错:Io 异常: The Network Adapter could not establish the connection

是怎么回事


//////////////////////////////////
import java.sql.*;

public class OracleTest {
private final String oracleDriverName = "oracle.jdbc.driver.OracleDriver ";

//以下使用的Test就是Oracle里的表空间
private final String oracleUrlToConnect = "jdbc:oracle:thin:@localhost:1521:test ";
private Connection myConnection = null;
/**
* To load the jdbc driver
*
*/
public OracleTest()
{
try
{
Class.forName(oracleDriverName);
}catch(ClassNotFoundException ex)
{
System.out.println(getErrorMessage(ex, "The Driver loaded error,please contact to your Software Designer! ").toString());
}
}

public StringBuffer getErrorMessage(Exception ex,String alarmMessage)
{
StringBuffer errorStringBuffer = new StringBuffer();
errorStringBuffer.append(alarmMessage);
errorStringBuffer.append(ex.getMessage());
return errorStringBuffer;
}

/**
* getConnection method
* @return Connection
*/
public Connection getConnection()
{
try
{
this.myConnection = DriverManager.getConnection(oracleUrlToConnect, "sys ", "admin ");
}catch(Exception ex)
{
System.out.println(getErrorMessage(ex, "Can not get connection,please contact to your Software Designer!\n ").toString());
}

return this.myConnection;
}

/**
* @param args
*/
public static void main(String[] args) {
OracleTest myOracleTest = new OracleTest();
try
{


Connection myConnection = myOracleTest.getConnection();

System.out.println( "Now begin to excute............. ");

PreparedStatement myPreparedStatement = myConnection.prepareStatement( "select area_id, area_name,ip_address,tel,area_type,pc_id from c_area_info ");
//myPreparedStatement.setInt(1,2);
ResultSet myResultSet = myPreparedStatement.executeQuery();
StringBuffer myStringBuffer = new StringBuffer();

while(myResultSet.next())
{
myStringBuffer.append(myResultSet.getInt( "area_id ")+ "  ");
myStringBuffer.append(myResultSet.getString( "area_name ")+ "  ");
myStringBuffer.append(myResultSet.getString( "ip_address ")+ "  ");
myStringBuffer.append(myResultSet.getString( "tel ")+ "  ");
myStringBuffer.append(myResultSet.getInt( "area_type ")+ "  ");
myStringBuffer.append(myResultSet.getInt( "pc_id ")+ "\n ");
}
System.out.println(myStringBuffer.toString());
//System.out.println(new String(myStringBuffer.toString().getBytes( "ISO-8859-1 "), "GBK "));
}catch(Exception ex)
{
System.out.println(myOracleTest.getErrorMessage(ex, "Application error,please contact to your Software Designer! ").toString());
}

}

}

[解决办法]
我Blog上有解决此问题的方法
http://blog.csdn.net/Imain/archive/2006/12/22/1453322.aspx

你可以参考一下。
[解决办法]
Test这好像不是写表空间的。这是写数据库的。
[解决办法]
test这里应该写你的数据库名字
[解决办法]
你为何要再构造函数里加载驱动?
Class.forName(...);
DriverManager.getConnection();
写一起看看

读书人网 >J2SE开发

热点推荐