Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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/0/performance/5.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、Spark、Sql2o、H2:无法从数据源获取连接-IO异常_Java_Apache Spark_H2_Sql2o - Fatal编程技术网

Java、Spark、Sql2o、H2:无法从数据源获取连接-IO异常

Java、Spark、Sql2o、H2:无法从数据源获取连接-IO异常,java,apache-spark,h2,sql2o,Java,Apache Spark,H2,Sql2o,我想使用JavaMaven、Spark和H2数据库以及Sql2o库创建一个API 这是完整的错误消息: Exceptionorg.sql2o.Sql2oException:无法从获取连接 DataSource-IO异常:“java.IO.IOException:文件名, 目录名或卷标语法不正确”; “C:\Users\Claudiu/reviews.db:INIT=RUNSCRIPT from “classpath:db/init.sql.mv.db”[90031-191] [qtp113315

我想使用JavaMaven、Spark和H2数据库以及Sql2o库创建一个API

这是完整的错误消息:

Exceptionorg.sql2o.Sql2oException:无法从获取连接 DataSource-IO异常:“java.IO.IOException:文件名, 目录名或卷标语法不正确”; “C:\Users\Claudiu/reviews.db:INIT=RUNSCRIPT from “classpath:db/init.sql.mv.db”[90031-191] [qtp1133151800-16]错误spark.webserver.MatcherFilter- ro.sparkmaven.exc.dao异常:添加课程时出现问题 位于ro.sparkmaven.dao.sql2ocursedao.add(sql2ocursedao.java:28) 在ro.sparkmaven.App.lambda$0(App.java:37) 位于ro.sparkmaven.App$$Lambda$1/1607460018.手柄(未知来源)

这是主要课程:

public class App 
{
    public static void main(String[] args) {        
        String connectionString= "jdbc:h2:~/reviews.db:INIT=RUNSCRIPT from 'classpath:db/init.sql";     
        Sql2o sql2o = new Sql2o(connectionString, "", "");
         CourseDao courseDao = new Sql2oCourseDao(sql2o);
         Gson gson = new Gson();

        post("/courses", "application/json", (req, res) -> {
            Course course = gson.fromJson(req.body(), Course.class);
            courseDao.add(course);
            res.status(201);
            res.type("application/json");
            return null;
        } , gson::toJson);

        get("/courses", "application/json", (req, res) -> courseDao.findAll(), gson::toJson);

        get("/courses/:id", "application/json", (req, res) -> {
            int id;
            id = Integer.parseInt(req.params("id"));
            //TO DO: What if this not found
            Course course = courseDao.findById(id);

            return null;
        });

        after((req,res)->{
            res.type("application/json");
        });
    }
}
这是init.sql:

CREATE TABLE IF NOT EXISTS courses (
   id int PRIMARY KEY auto_increment,
   name VARCHAR,
   url VARCHAR
);

CREATE TABLE IF NOT EXISTS reviews (
   id INTEGER PRIMARY KEY auto_increment,
   course_id INTEGER,
   rating INTEGER,
   comment VARCHAR,
   FOREIGN KEY(course_id) REFERENCES public.courses(id)
);

提前谢谢

如异常消息所述,URL格式不正确。在
INIT
之前使用分号而不是冒号。最后的
也丢失了。尝试:

String connectionString = 
  "jdbc:h2:~/reviews.db;INIT=RUNSCRIPT from 'classpath:db/init.sql'";

正如异常消息所说,URL的格式不正确。在
INIT
之前使用分号而不是冒号。最后的
也丢失了。尝试:

String connectionString = 
  "jdbc:h2:~/reviews.db;INIT=RUNSCRIPT from 'classpath:db/init.sql'";