你的JDBC程序不对,说详细点你是怎么编写的程序?
解决方案 »
- 在线等"HH84"是select中没有的,只到83,怎么会跑出来呢,程序是部署在resin3.1
- ora-07445如何定位到有问题的SQL语句
- Oracle监听问题(OracleOraDb10g_home1TNSListener)帮忙解决一下。
- 数据库优化
- REF游标的问题
- 求sql,两张表以这种方式合并
- 为什么触发器不工作? 贴有代码,请各位帮忙.
- 请问,方案->表-> HR,MDSYS,OE,PM,SYS,SYSTEM,SCOTT等是什么来的?分区?
- tivoli磁带库备份问题
- oracle整库导出导入
- 我的机器Oracle9.0能安装成功,9.2版本就不行,点击setup.exe一点反应都没有啊,急求帮助!
- 求助!Linux下Oracle数据库误删表空间后恢复出现问题!
ORACLE_HOME/jdbc/lib/classes12.jar
添加进classpath路径中,java程序中import所需类即可
import java.sql.*;
import java.net.URL;class java2oracle{
public static void main(String args[]){
String sUsr="SYSTEM";
String sPwd="1234";
String query="select * from users";
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc.oracle:thin:@localhost:1521:ORACLEDB",sUsr,sPwd);
checkForWarning(con.getWarnings());
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
dispResultSet(rs);
rs.close();
stmt.close();
con.close();
}
catch(SQLException ex){
System.out.println("\n***SQLException caught**\n");
while(ex!=null){
System.out.println("SQLState:"+ex.getSQLState());
System.out.println("Message:"+ex.getMessage());
System.out.println("vender:"+ex.getErrorCode());
ex=ex.getNextException();
System.out.println("");
}
}
catch(java.lang.Exception ex){
ex.printStackTrace();
}
}
private static boolean checkForWarning(SQLWarning warn)
throws SQLException
{
boolean rc=false;
if(warn!=null){
System.out.println("\n***Warning***\n");
rc=true;
while(warn!=null){
System.out.println("sqlstate:"+warn.getSQLState());
System.out.println("Message:"+warn.getMessage());
System.out.println("vender:"+warn.getErrorCode());
System.out.println("");
warn=warn.getNextWarning();
}
}
return rc;
}
private static void dispResultSet(ResultSet rs)
throws SQLException
{
int i;
ResultSetMetaData rsmd=rs.getMetaData();
int numCols=rsmd.getColumnCount();
for(i=1;i<=numCols;i++){
if(i>1) System.out.print(", ");
System.out.print(rsmd.getColumnLabel(i));
}
System.out.println("");
boolean more=rs.next();
while(more){
for(i=1;i<numCols;i++){
if(i>1) System.out.print(", ");
System.out.print(rs.getString(i));
}
System.out.println("");
more=rs.next();
}
}
}
下面就是我的环境变量:
CLASSPATH=.;D:\oracle\ora90\jdbc\lib\classes111.jar;D:\oracle\ora90\jdbc\lib\nls_charset11.jar;C:\Program Files\Altova\xmlspy\XMLSpyInterface.jar;E:\JAVA\J2SE5.0\lib\tools.jar;E:\JAVA\JavaCode;E:\JAVA\MyProject\dazern;E:\JAVA\SQL2000JDBC\lib;E:\JAVA\SQL2000JDBC\lib\mssqlserver.jar;E:\JAVA\SQL2000JDBC\lib\msbase.jar;E:\JAVA\SQL2000JDBC\lib\msutil.jar;E:\JAVA\Tomcat5.0\common\lib\servlet-api.jar;E:\JAVA\MyProject\eclipse
我不知道是什么问题!我是第一次学习JDBC!
我想问为什么我在CLASSPATH里面设置会没有用了!
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at com.dazern.sql.java2sqlserver.main(java2sqlserver.java:24)
Press any key to continue...我真的被搞的越来越糊涂了,大家帮我想想办法好吗,我急死了,搞这么个东西搞了这么久!哎
在classpath中加上D:\oracle\ora90\jdbc\lib\classes12.jar程序中加上:
import oracle.jdbc.driver.OracleDriver