我用eclipse编程环境连接oracle9.2.0.1.0,我的java源代码如下:
package cbq;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class conoracle {
public static void main(String arg[])
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc.oracle.ora9i";
Connection conn = DriverManager.getConnection(url,"system","system");
Statement stmt=conn.createStatement();
String qstr="select * from tab";
ResultSet rs=stmt.executeQuery(qstr);
while (rs.next())
{
String tname=rs.getString("tname");
System.out.println(tname);
}
rs.close();
stmt.close();
conn.close();
}
catch(SQLException sqle)
{
System.out.println(sqle.getMessage());
System.out.println(sqle.getSQLState());
}
catch(Exception e)
{
e.printStackTrace();
}
};}
环境变量如下配置:
classpath=.
path=C:\Program Files\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
我在编译这个文件时没有抱错,我在执行这个文件时java cbq.conoracle出现如下错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
请问我该怎么解决,我还需要单独安装JDBC吗,要是安装我在那能找到JDBC,如果代码写的不对(特别是oracle连接串),请帮我改正一下好吗。我是个初学者,能说的详细一些吗。谢谢!!!
package cbq;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class conoracle {
public static void main(String arg[])
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc.oracle.ora9i";
Connection conn = DriverManager.getConnection(url,"system","system");
Statement stmt=conn.createStatement();
String qstr="select * from tab";
ResultSet rs=stmt.executeQuery(qstr);
while (rs.next())
{
String tname=rs.getString("tname");
System.out.println(tname);
}
rs.close();
stmt.close();
conn.close();
}
catch(SQLException sqle)
{
System.out.println(sqle.getMessage());
System.out.println(sqle.getSQLState());
}
catch(Exception e)
{
e.printStackTrace();
}
};}
环境变量如下配置:
classpath=.
path=C:\Program Files\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
我在编译这个文件时没有抱错,我在执行这个文件时java cbq.conoracle出现如下错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
请问我该怎么解决,我还需要单独安装JDBC吗,要是安装我在那能找到JDBC,如果代码写的不对(特别是oracle连接串),请帮我改正一下好吗。我是个初学者,能说的详细一些吗。谢谢!!!
再着,url应该是jdbc:oracle:thin:@localhost:1521:databasename
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
public static void main(String arg[])
{
try
{
Class.forName("oracle.jdbc.Driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@10.24.4.205:1521:ora9i";
String user="yz";
String password="yzyz";
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement();
String qstr="select * from tj_zjb";
ResultSet rs=stmt.executeQuery(qstr);
while (rs.next())
{
String tname=rs.getString("gdm");
System.out.println(tname);
}
rs.close();
stmt.close();
conn.close();
}
catch(SQLException sqle)
{
System.out.println(sqle.getMessage());
System.out.println(sqle.getSQLState());
}
catch(Exception e)
{
e.printStackTrace();
}
};}
环境变量如下配置:
classpath=.
path=C:\Program Files\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
我在编译这个文件时没有抱错,我在执行这个文件时java cbq.conoracle出现如下错误:
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
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 cbq.conoracle.main(conoracle.java:14)
我按上面几位老兄的指点我试了一下,但还是不行,问题还是出现错误都一样,请问我怎么确定1521
的端口号。在线等待!!!谢谢。
2、可能是url的问题,10.24.4.205:1521:ora9i,确认ora9i是客户端服务名,还是数据库服务名下面有个例子,作为借鉴看看吧import java.sql.*;class Employee
{
public static void main (String args [])
throws SQLException
{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String url = "jdbc:oracle:thin:@192.168.0.9:1521:orcl";
String userName = "scott";
String password = "tiger"; if (args.length > 0) url = args[0];
if (args.length > 1) userName = args[1];
if (args.length > 2) password = args[2]; Connection conn =
DriverManager.getConnection (url, userName, password); Statement stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery ("select ENAME from EMP"); while (rset.next ())
System.out.println (rset.getString (1));
}
}
classpath=.
path=C:\PROGRA~1\Java\jdk1.5.0_03\bin;C:\oracle\ora92\bin;C:\PROGRA~1\Oracle\jre\1.3.1\bin;C:\PROGRA~1\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem