当前位置: 首页 > 知识库问答 >
问题:

连接Oracle 10g Express Edition和Java

郤浩慨
2023-03-14

我想连接Oracle 10g Express Edition和Java,我遵循的步骤是:

使用以下文件配置我的类路径:

C: \oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14。罐子

C:\Program Files\Java\jdk1.7.0_01\bin

C:\oraclexe\app\oracle\产品\10.2.0\服务器\BIN

然后,我尝试了以下程序将其与OCI驱动程序连接:

import  java.sql.*;

public class OracleOCIConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Native-API (OCI) driver
         Connection con = DriverManager.getConnection("jdbc:oracle:oci8:@","hr","hr" );
         System.out.println("Connected Successfully To Oracle using OCI driver");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

使用瘦驱动程序:

import  java.sql.*;

public class OracleThinConnection
{
   public static void main(String args[])
   {
      try
      {
      // load oracle driver
         Class.forName("oracle.jdbc.driver.OracleDriver");
      // connect using Thin driver
         Connection con =  DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
         System.out.println("Connected Successfully To Oracle");
         con.close();
      }
         catch(Exception ex)
         {
            ex.printStackTrace();
         }
   }
}

在这两种情况下,程序都会编译,但引发错误的行是:

class.forName("oracle.jdbc.driver.OracleDriver");

有什么帮助吗?谢谢

共有2个答案

弘柏
2023-03-14

我正在使用ojdb6。jar而不是ojdbc14。jar对我来说很好,下面是我的代码

try{
            Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
            String dbAddress = "localhost";
            Connection con = DriverManager.getConnection("jdbc:oracle:thin:hr/hr@"+dbAddress+":1521/XE");

            if(!con.isClosed()){
                System.out.println("Connection Successful");
            }else{
                System.out.println("Connection is Closed);
            }
        }
        catch(Exception ex){
            System.out.println("Error :"+ex.getMessage());
        }
能钟展
2023-03-14

首先,从类路径中删除C:\Program Files\Java\jdk1.7.0_01\bin。它与此无关。

其次,问题在于您的运行时类路径。请记住,编译时类路径和运行时类路径是两回事。您是否使用IDE(例如Eclipse)来运行它?如果是,请检查哪些类路径条目在运行时生效。在Eclipse中,您可以通过查看为运行应用程序而创建的Launch Configuration来获取此信息(请参阅“类路径”选项卡)。

如果您通过命令行设置类路径,那么Program Files中的空白可能是问题所在。尝试用引号包围整个类路径参数。

 类似资料:
  • 问题内容: 我在两个表之间有多对多关系。 表包含我的餐厅。 表包含不同的类别。 表包含两列,每列分别包含两个表的ID。 以下陈述是我能想到的,但没有给我我想要的输出。 我希望输出是有关餐厅的信息,并在最后一列中是类别的连接行。 问题答案: 要串联值,可以使用。xml路径解决方案有误,应使用和特殊字符。 您也可以使用变量解决方案

  • 本文向大家介绍说下左连接和右连接相关面试题,主要包含被问及说下左连接和右连接时的应答技巧和注意事项,需要的朋友参考一下 比如有两张表 A,B。左连接是把符合条件的所有A表的内容列出来,B表如果没有内容匹配用NULL代替。 右连接是符合条件的所有B表的内容列出来,A表如果没有内容匹配用NULL代替

  • 请原谅,这很可能是一个愚蠢的新手问题。 我们使用Hystrix作为两个服务之间的断路器。为了提高性能,我们使用了连接池。我们正在使用Apache HttpClient的PoolingHttpClientConnectionManager来处理连接池。 我们还使用Hystrix的“TimeoutInMissels”属性来捕获问题。 我们遇到的“问题”是,在正常操作中,创建一个新的HTTPS连接需要c

  • 我一直在到处寻找,收集零碎的东西,如果这已经在其他地方得到了回答,但我找不到,我很抱歉。 我正在用Java编写一个web应用程序,在后端使用Tomcat和SQLAzure。 有多个servlet访问SQLAzure DB。我想使用由Tomcat 8.5管理的连接池 我的应用程序上下文。META-INF中的xml如下所示: 在Java代码中,我以典型的方式访问: ds.get连接。 一切似乎都正常,

  • Serenity 使用简单的 ADO.NET 数据访问对象,像 SqlConnection、DbCommand 等。 它提供了一些基本的助手(helpers)来创建连接、添加参数、执行查询等。 SqlConnections 类 [命名空间: Serenity.Data, 程序集: Serenity.Data] 该类包含创建连接的静态函数,并在数据库中以不可见的方式控制它。 SqlConnectio

  • 我正在尝试将两个模型连接在一起。我有一个伯特模型和效率网模型。 但我有一个错误: ValueError Traceback(最近一次调用上次)在9个输出中=层。密集(2,activation='softmax',name='real_output')(密集)10--- ~/anaconda3/lib/python3。7/现场包/KERA/遗留/接口。包装中的py(*args,**kwargs)89

  • 开始使用 Kibana 前,需要告诉 Kibana 您想要探索的 Elasticsearch 索引。第一次访问 Kibana 时,会提示您定义一个 index pattern(索引模式) 匹配一个或多个索引。这就是初次使用 Kibana 时所有需要配置的。任何时候都可以在 Management 页面增加索引模式。 提示:默认情况下,Kibana 会连接运行在 localhost 上的 Elasti

  • 当我添加一个左连接来获取外部表的计数时,它将我其他左连接表的总和值与计数相乘,我也不能在这里使用不同的总和,因为两个值可以是相同的: