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

无法使用 JDBC 连接到 Oracle 11g - 指定的 Oracle URL 无效

钱钊
2023-03-14

我正在努力使用JDBC建立与数据库的连接。我已经做了留档中提到的所有必要的事情。

>

  • 我的笔记本电脑上有数据库-Oracle XE 11g rel.2,SID="xe",SQLDeveloper检查
  • 我有适当的驱动程序-ojdbc6.jar-并将其添加到我的项目在Eclipse的Java构建路径属性
  • 我写了几行基本的尝试/捕捉块来建立连接:

        Connection myConn = DriverManager.getConnection("jdbc:oracle:thin@localhost:1521:xe",
                "system", "somepass");
    
        Statement myStat = myConn.createStatement();
    
        ResultSet myRe = myStat.executeQuery("SELECT * from PATIENTS");
    
        while(myRe.next()){
            System.out.println(myRe.getString("LAST_NAME"));
        }
    
        myConn.close();
        myRe.close();
    

    但是在运行我的代码后,我收到错误“指定了无效的Oracle URL”。一切看起来都很好,但我只是从JDBC开始..我错过了什么吗?

  • 共有1个答案

    何玺
    2023-03-14

    您缺少冒号-使用

    jdbc:oracle:thin:@localhost:1521:xe
                    ^
    

    代替

    jdbc:oracle:thin@localhost:1521:xe
                   ^^^
    

    作为连接字符串

    另见https://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html

    ...其中,URL的形式为:

    jdbc:oracle:<drivertype>:@<database>
    
     类似资料:
    • 我将DataGrip配置为使用spark安装文件夹中的JDBC库。

    • 问题内容: 我能够使用主机“ nash-pc \ sqlexpress”的SQL Server Management Studio连接到本地计算机上的MSSQL 2008 Express。但是,当我连接Microsoft JDBC驱动程序时,它给了我类似下面的错误。JDBC在主机名中有’'的问题吗?我不确定如何使主机名成为“ localhost”,而不是“ nash-pc \ sqlexpress

    • 这是我的实体 这是我的主课 这就是我的persistence.xml 堆栈跟踪:

    • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

    • 我正在尝试使用jdbc连接到我的MS SQL2008数据库,如下所示,但它的给出错误 我的数据库名为,实例名为。请建议我如何提供数据库实例名称和数据库名称在URL。 上面写着 但是当我尝试用相同的用户名和密码从DB GUI登录时,它被登录了。想知道在jdbc设置中在哪里提供数据库实例的详细信息 我也试过用下面的dut不管用

    • 我创建了一个简单的类来测试与我的localhost数据库的通信,这是我用Mysql Workbench创建的。Mysql服务器正在运行。JDBC驱动程序被添加到我的项目的类路径中。 当我运行程序时,我得到以下异常: 线程“main”com.mysql.cj.jdbc.Exceptions.CommunicationsException异常:通信链接失败 最后一个成功发送到服务器的数据包是在0毫秒前