Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA SQL-未找到适合jdbc:derby的驱动程序_Java_Sql - Fatal编程技术网

JAVA SQL-未找到适合jdbc:derby的驱动程序

JAVA SQL-未找到适合jdbc:derby的驱动程序,java,sql,Java,Sql,我是JAVA和SQL的新手 在一个练习中,我需要从NetBeans中的示例SQL表中读取数据 在“服务”中,我启动了JavaDB服务器。一切都好。出现以下消息: Mon Dec 16 21:40:36 EST 2013 : Security manager installed using the Basic server security policy. Mon Dec 16 21:40:37 EST 2013 : Apache Derby Network Server - 10.8.3.0 -

我是JAVA和SQL的新手

在一个练习中,我需要从NetBeans中的示例SQL表中读取数据

在“服务”中,我启动了JavaDB服务器。一切都好。出现以下消息:

Mon Dec 16 21:40:36 EST 2013 : Security manager installed using the Basic server security policy.
Mon Dec 16 21:40:37 EST 2013 : Apache Derby Network Server - 10.8.3.0 - (1405108) started and ready to accept connections on port 1527
但当我运行此程序(如下)时,会出现以下错误:

SQL Error: java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/sample 0 08001
这是密码。。我如何才能确保找到正确的驱动程序

import java.sql.*;

public class TableReporter {

    public static void main(String[] args) {
        String data = "jdbc:derby://localhost:1527/sample";
        try (
            Connection conn = DriverManager.getConnection(
            data, "app", "APP");
            Statement st = conn.createStatement()) {

            Class.forName("org.apache.derby.jdbc.ClientDriver");

            ResultSet rec =st.executeQuery(
                    "select * " +
                    "from SYS.SYSTABLES" +
                    "order by TABLENAME");
            while(rec.next()){
                System.out.println("TABLEID:\t" + rec.getString(1));
                System.out.println("TABLENAME:\t" + rec.getString(2));
                System.out.println("TABLETYPE:\t" + rec.getString(3));
                System.out.println("SCHEMAID:\t" + rec.getString(4));
                System.out.println();
            }
        st.close();
        } catch (SQLException s){
            System.out.println("SQL Error: " + s.toString() + " "
                    + s.getErrorCode() + " " + s.getSQLState());
        } catch (Exception e) {
            System.out.println("Error: " + e.toString()
                    +e.getMessage());
                }   
    }   
}

在尝试创建连接之前,您不需要加载驱动程序吗

动议这项声明

Class.forName("org.apache.derby.jdbc.ClientDriver");

成为try块中的第一个。

在尝试创建连接之前,您不需要加载驱动程序吗

动议这项声明

Class.forName("org.apache.derby.jdbc.ClientDriver");
成为try块中的第一个

尝试在代码中进行此更改

尝试在代码中进行此更改


您需要加载一罐derby驱动程序


forName(“org.apache.derby.jdbc.ClientDriver”)

您需要加载一罐derby驱动程序


forName(“org.apache.derby.jdbc.ClientDriver”)

问题在于jar文件

Class.forName("org.apache.derby.jdbc.ClientDriver");
检查

  • 无论是否安装
  • 如果已安装,是否需要更新.bashrc文件
  • 或者,您已经在netBeans IDE中导入了.jar文件

  • 如果一切都不起作用,只需编写一个简单的JDBC程序,使用notpad连接到数据库并运行它,检查您的机器有什么问题。

    问题在于jar文件

    Class.forName("org.apache.derby.jdbc.ClientDriver");
    
    检查

  • 无论是否安装
  • 如果已安装,是否需要更新.bashrc文件
  • 或者,您已经在netBeans IDE中导入了.jar文件

  • 如果一切都不起作用,只需编写一个简单的JDBC程序,使用notpad连接到数据库并运行它,检查您的机器有什么问题。

    尽管我提供了

    Class.forName("org.apache.derby.jdbc.ClientDriver");
    
    但是我发现我正在加载db用户名和密码的属性文件的格式不正确。 应该是这样的:

    dburi=jdbc:derby://localhost:1527/dbname
    user=username
    pass=xxxx
    
    在守则中:

    CachedRowSetImpl crs = new CachedRowSetImpl();
    Properties pr = Properties();
    crs.setUrl(pr.getProperty("dburi"));
    crs.setUsername(pr.getProperty("user"));
    crs.setPassword(pr.getProperty("pass"));
    

    我有同样的问题,虽然我提供

    Class.forName("org.apache.derby.jdbc.ClientDriver");
    
    但是我发现我正在加载db用户名和密码的属性文件的格式不正确。 应该是这样的:

    dburi=jdbc:derby://localhost:1527/dbname
    user=username
    pass=xxxx
    
    在守则中:

    CachedRowSetImpl crs = new CachedRowSetImpl();
    Properties pr = Properties();
    crs.setUrl(pr.getProperty("dburi"));
    crs.setUsername(pr.getProperty("user"));
    crs.setPassword(pr.getProperty("pass"));
    

    查看页面右侧的相关链接thereJava是一个单词而不是首字母缩略词,它应该写为“Java”,而不是全部大写。查看页面右侧的相关链接thereJava是一个单词而不是首字母缩略词,它应该写为“Java”并不是所有的大写字母都在代码中…它在代码中…我必须在“项目”中添加JavaDB库。。右键点击“图书馆”。。但是现在当我运行它时,我得到了关于用户ID和密码的错误消息:SQL错误:java.SQL.SQLNonTransientConnectionException:发生了连接身份验证失败。原因:用户ID或密码无效。40000 08004查看此链接,可能会对您有所帮助,我不得不在“项目”中添加JavaDB库。。右键点击“图书馆”。。但是现在当我运行它时,我得到了关于用户ID和密码的错误消息:SQL错误:java.SQL.SQLNonTransientConnectionException:发生了连接身份验证失败。原因:用户ID或密码无效。40000 08004查看此链接,可能会对您有所帮助,