【问题标题】:How run .sql script JDBC?如何运行 .sql 脚本 JDBC?
【发布时间】:2020-11-14 18:10:59
【问题描述】:

我有带有脚本的 .sql 文件:

DROP TABLE IF EXISTS groups;
CREATE TABLE groups(
group_id INTEGER NOT NULL,
group_name VARCHAR(50),
PRIMARY KEY(group_id)
);

我正在尝试运行此文件以使用此代码在我的 PostgreSQL 数据库中创建表:

    String URL = "jdbc:postgresql://localhost:5432/school";
    String user = "postgres";
    String password = "password";

    Connection connection = DriverManager.getConnection(URL, user, password);
    System.out.println("Success.........");
    ScriptRunner scriptRunner = new ScriptRunner(connection);
    Reader reader = new BufferedReader(new FileReader("src/main/resources/database/dbScript.sql"));
    scriptRunner.runScript(reader);

但表格未生成。我做错了什么?

【问题讨论】:

  • 你有什么错误吗?
  • 它只打印 .sql 脚本内容,但不在我的数据库中创建表。
  • 什么是ScriptRunner?它来自图书馆,如果是,是哪个图书馆?

标签: java postgresql jdbc


【解决方案1】:

在您的 sql 脚本中添加以下内容:---(您应该先创建数据库)

SET AUTOCOMMIT = ON
CREATE DATABASE school;
use school;
DROP TABLE IF EXISTS groups;
CREATE TABLE school.groups(
group_id INTEGER NOT NULL,
group_name VARCHAR(50),
PRIMARY KEY(group_id)
);

希望它能解决您的问题。

【讨论】:

  • 异常:CREATE DATABASE 不能在事务块内运行
猜你喜欢
  • 2010-11-05
  • 1970-01-01
  • 2010-12-02
  • 2016-01-24
  • 2012-10-19
  • 1970-01-01
  • 2012-02-14
  • 2014-10-11
相关资源
最近更新 更多