gpt4 book ai didi

java - 全新安装 JDBC for Oracle - 不执行

转载 作者:行者123 更新时间:2023-11-30 04:38:05 28 4
gpt4 key购买 nike

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

我还设置了以下类路径:

.;
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

以下代码被编译,但是当我尝试运行类文件时,它会抛出错误

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:\中,以便从此目录编译并运行。

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...我直接在 CLASSPATH 中添加了 .jar 文件并进行了编译,但是当我运行该类文件时,出现以下错误消息

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)

最佳答案

使用以下命令执行应该可以运行它。

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 与可执行文件一起打包,而不是设置类路径。

关于java - 全新安装 JDBC for Oracle - 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12943379/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com