关于 classpath 和 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 问题求解 JB9在开发时使用自己的Libarary库,和系统的classpath无关. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JDBC的驱动程序是动态加载(Class.forName()),不建议在classpath中使用绝对路径 package plusin;import plusin.PConnection;import plusin.ConnectionException;import java.util.Properties;import plusin.PData;import java.sql.*;import javax.swing.JOptionPane;/** * <p>Title: Oracle connection</p> * <p>Description: Oracle connection</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: www.sclh.com</p> * @author etl.zc * @version 1.0 */public class PlusinConnection implements PConnection{ private static final String PROPERTY_USER = "user"; private static final String PROPERTY_PASSWORD = "password"; private static final String PROPERTY_URL = "url"; private static final String PROPERTY_TABLE = "table"; private Properties properties = new Properties(); private Connection connection = null; public PlusinConnection() { properties.setProperty( PROPERTY_URL,""); properties.setProperty( PROPERTY_USER,""); properties.setProperty( PROPERTY_PASSWORD,""); properties.setProperty( PROPERTY_TABLE,""); } public void setProperty(String parm1, String parm2) throws plusin.ConnectionException { properties.setProperty(parm1, parm2); } public String getProperty(String parm1) throws plusin.ConnectionException { return properties.getProperty( parm1 ); } public Properties getProperties() throws plusin.ConnectionException { return properties; } public void open() throws plusin.ConnectionException { if( connection != null ) throw new ConnectionException("已经打开了数据库连接"); try { Class.forName("oracle.jdbc.driver.OracleDriver"); connection = DriverManager.getConnection(getProperty(PROPERTY_URL), getProperty(PROPERTY_USER), getProperty(PROPERTY_PASSWORD)); } catch( SQLException ex ) { throw new plusin.ConnectionException("open操作出现SQLException异常"); } catch( ClassNotFoundException ex ) { ex.printStackTrace(); throw new plusin.ConnectionException("open操作出现ClassNotFoundException异常"); } } public void close() throws plusin.ConnectionException { if(connection == null) throw new plusin.ConnectionException("没有打开数据连接,close操作被忽略!"); try { connection.close(); connection = null; System.gc(); } catch( SQLException ex ) { throw new plusin.ConnectionException("close操作失败(SQLException)!"); } } public PData getData() throws plusin.ConnectionException { if( connection == null ) throw new plusin.ConnectionException(",没有打开数据库连接, getData操作失败!"); OracleData data = new OracleData(); Statement state = null; ResultSet set = null; StringBuffer sbSql = new StringBuffer(50); try { state = connection.createStatement(); sbSql.append( "select * from "); sbSql.append( getProperty(PROPERTY_TABLE) ); set = state.executeQuery(sbSql.toString()); ResultSetMetaData rsmd = set.getMetaData(); int iColumnCount = rsmd.getColumnCount(); for( int i = 1; i <= iColumnCount; i++ ) data.appendLine( rsmd.getColumnName(i) + " -> " + rsmd.getColumnType(i) ); set.close(); state.close(); } catch( SQLException ex ) { ex.printStackTrace(); throw new plusin.ConnectionException("getData操作出现SQLException异常"); } return data; } public static void main(String[] args) throws Exception { PlusinConnection oracleConnection1 = new PlusinConnection(); oracleConnection1.setProperty(PlusinConnection.PROPERTY_URL,"jdbc:oracle:thin:@192.168.0.250:1521:orcl"); oracleConnection1.setProperty(PlusinConnection.PROPERTY_USER,"lfj"); oracleConnection1.setProperty(PlusinConnection.PROPERTY_PASSWORD,"lfj"); oracleConnection1.setProperty(PlusinConnection.PROPERTY_TABLE,"isep.rk_jbxx"); PData data = null; oracleConnection1.open(); data = oracleConnection1.getData(); System.out.println(data); oracleConnection1.close(); }} 我的代码就这样的,应为我这个是个插件. 在工程里面没有添加 oracle for jdbc driver. 我相单独编译出一个jar出来三. 初次使用struts标签,求解答 请教apache的lucene-2.0.0 关于系统启动时多线程问题,高手进来看看呀! WebService群31785619 不知道还有没有大手子在弄ofbiz的啊 JDK1.6自带的webservice并发问题 为何我在Eclipse中无法启动Tomcat5.0.28 J2EE安装问题 J2EE客户端如何运行? 关于数组在html中的显示 小小的问题:两个一样的表,要把其中一条数据拷到另外一张表。 Hibernate的问题,解决马上给50分
import plusin.ConnectionException;
import java.util.Properties;
import plusin.PData;
import java.sql.*;
import javax.swing.JOptionPane;/**
* <p>Title: Oracle connection</p>
* <p>Description: Oracle connection</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: www.sclh.com</p>
* @author etl.zc
* @version 1.0
*/public class PlusinConnection implements PConnection
{
private static final String PROPERTY_USER = "user";
private static final String PROPERTY_PASSWORD = "password";
private static final String PROPERTY_URL = "url";
private static final String PROPERTY_TABLE = "table"; private Properties properties = new Properties();
private Connection connection = null; public PlusinConnection()
{
properties.setProperty( PROPERTY_URL,"");
properties.setProperty( PROPERTY_USER,"");
properties.setProperty( PROPERTY_PASSWORD,"");
properties.setProperty( PROPERTY_TABLE,"");
} public void setProperty(String parm1, String parm2) throws plusin.ConnectionException {
properties.setProperty(parm1, parm2);
} public String getProperty(String parm1) throws plusin.ConnectionException {
return properties.getProperty( parm1 );
}
public Properties getProperties() throws plusin.ConnectionException {
return properties;
} public void open() throws plusin.ConnectionException
{
if( connection != null )
throw new ConnectionException("已经打开了数据库连接");
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
connection = DriverManager.getConnection(getProperty(PROPERTY_URL),
getProperty(PROPERTY_USER),
getProperty(PROPERTY_PASSWORD));
}
catch( SQLException ex )
{
throw new plusin.ConnectionException("open操作出现SQLException异常");
}
catch( ClassNotFoundException ex )
{
ex.printStackTrace();
throw new plusin.ConnectionException("open操作出现ClassNotFoundException异常");
} }
public void close() throws plusin.ConnectionException
{
if(connection == null)
throw new plusin.ConnectionException("没有打开数据连接,close操作被忽略!"); try
{
connection.close();
connection = null;
System.gc();
}
catch( SQLException ex )
{
throw new plusin.ConnectionException("close操作失败(SQLException)!");
}
} public PData getData() throws plusin.ConnectionException
{
if( connection == null )
throw new plusin.ConnectionException(",没有打开数据库连接, getData操作失败!"); OracleData data = new OracleData();
Statement state = null;
ResultSet set = null;
StringBuffer sbSql = new StringBuffer(50); try
{
state = connection.createStatement();
sbSql.append( "select * from ");
sbSql.append( getProperty(PROPERTY_TABLE) ); set = state.executeQuery(sbSql.toString()); ResultSetMetaData rsmd = set.getMetaData();
int iColumnCount = rsmd.getColumnCount();
for( int i = 1; i <= iColumnCount; i++ )
data.appendLine( rsmd.getColumnName(i) + " -> " + rsmd.getColumnType(i) ); set.close();
state.close();
}
catch( SQLException ex )
{
ex.printStackTrace();
throw new plusin.ConnectionException("getData操作出现SQLException异常");
} return data;
} public static void main(String[] args) throws Exception
{
PlusinConnection oracleConnection1 = new PlusinConnection();
oracleConnection1.setProperty(PlusinConnection.PROPERTY_URL,"jdbc:oracle:thin:@192.168.0.250:1521:orcl");
oracleConnection1.setProperty(PlusinConnection.PROPERTY_USER,"lfj");
oracleConnection1.setProperty(PlusinConnection.PROPERTY_PASSWORD,"lfj");
oracleConnection1.setProperty(PlusinConnection.PROPERTY_TABLE,"isep.rk_jbxx"); PData data = null;
oracleConnection1.open();
data = oracleConnection1.getData();
System.out.println(data);
oracleConnection1.close();
}
}
我相单独编译出一个jar出来三.