JDBC for Oracle的全新安装-无法执行 [英] Fresh install of JDBC for Oracle - does not execute

查看:86
本文介绍了JDBC for Oracle的全新安装-无法执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我第一次尝试使用JDBC连接到Oracle DB(10g).我在计算机上安装了JDK 6,并尝试连接到服务器上的Oracle DB.我已经下载了 ojdbc6.jar 并将其复制到 C:\ oracle \ product \ 10.2.0 \ client_1 \ jdbc \ lib .

This is my first attempt to connect to an Oracle DB (10g) using JDBC. I have JDK 6 installed on my machine and trying to connect to an Oracle DB on a server. I have downloaded ojdbc6.jar and copied it to C:\oracle\product\10.2.0\client_1\jdbc\lib.

我还设置了以下CLASS PATH:

I have also set the following CLASS PATH:

.;
C:\;
C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc6.jar;
C:\oracle\product\10.2.0\client_1\jlib\orai18n.jar;
C:\Program Files\QuickTime\QTSystem\QTJava.zip

以下代码已编译,但是当我尝试运行类文件时,它会引发错误

The following code gets compiled, however when I try to run the class file, it throws an error

C:\>java JDBCVersion
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at JDBCVersion.main(JDBCVersion.java:10)

我将.java文件保存在C:\中,以便从该目录进行编译和运行.

I save my .java files in C:\ to compile and run from this directory.

import java.io.*;
import java.sql.*;

class JDBCVersion
{

  public static void main (String args[]) throws SQLException{
  try{
  Connection con=null;
      Class.forName("oracle.jdbc.driver.OracleDriver");
      con=DriverManager.getConnection(
      "jdbc:oracle:thin:@HOSTNAME:1521:MYORADB",
        "SCOTT",
        "TIGER");
      Statement s=con.createStatement();
      s.execute("SELECT * FROM EMPLOYEE");
      s.close();
      con.close();
   } catch(Exception e){e.printStackTrace();}
   }
 }

@dardo ...我将.jar文件直接添加到CLASSPATH中,并进行了编译,但是当我运行类文件时,出现以下错误消息

@dardo...I added the .jar file directly in the CLASSPATH and it compiled but when I run the class file I get the following error message

C:\>java JDBCVersion
Exception in thread "main" java.lang.NoSuchMethodError: oracle.i18n.text.convert
er.CharacterConverterOGS.getInstance(I)Loracle/i18n/text/converter/CharacterConverter;
        at oracle.sql.converter.CharacterConverterFactoryOGS.make(CharacterConverterFactoryOGS.java:43)
        at oracle.sql.CharacterSetWithConverter.getInstance(CharacterSetWithConverter.java:97)
        at oracle.sql.CharacterSetFactoryThin.make(CharacterSetFactoryThin.java:129)
        at oracle.sql.CharacterSet.make(CharacterSet.java:514)
        at oracle.jdbc.driver.DBConversion.init(DBConversion.java:169)
        at oracle.jdbc.driver.DBConversion.<init>(DBConversion.java:120)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1135)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at JDBCVersion.main(JDBCVersion.java:15)

推荐答案

使用以下命令执行应该可以使其运行.

Executing with the following command should get it to run.

java -jar -classpath .;C:\oracle\product\10.2.0\client_1\jdbc\lib\ojdbc6.jar;C:\oracle\product\10.2.0‌​\client_1\jlib\orai18n.jar;C:\Program Files\QuickTime\QTSystem\QTJava.zip; jarName.jar

但是,您可能需要考虑将这些jar与可执行文件打包在一起,而不是设置类路径.

But, you might want to look into packaging these jars with your executable rather than setting the classpath.

这篇关于JDBC for Oracle的全新安装-无法执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆