第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring 在本地看不到數(shù)據(jù)源,但部署在 Horaku 上工作正常

Spring 在本地看不到數(shù)據(jù)源,但部署在 Horaku 上工作正常

躍然一笑 2022-12-28 16:52:07
我正在做 Heroku 教程https://devcenter.heroku.com/articles/getting-started-with-gradle-on-heroku一切都很好,直到我無法在本地實例中運行數(shù)據(jù)庫。我在 intelij 中并通過控制臺嘗試了它($heroku local web after build gradlew)。我嘗試將數(shù)據(jù)庫從 Heroku 復(fù)制到本地 postgresDb 但也失敗了。    @Value("${spring.datasource.url}")    private String dbUrl;    @Autowired    private DataSource dataSource;    @RequestMapping("/db")    String db(Map<String, Object> model) {        try (Connection connection = dataSource.getConnection()) {            Statement stmt = connection.createStatement();            stmt.executeUpdate("CREATE TABLE IF NOT EXISTS ticks (tick timestamp)");            stmt.executeUpdate("INSERT INTO ticks VALUES (now())");            ResultSet rs = stmt.executeQuery("SELECT tick FROM ticks");            ArrayList<String> output = new ArrayList<String>();            while (rs.next()) {                output.add("Read from DB: " + rs.getTimestamp("tick"));            }            model.put("records", output);            return "db";        } catch (Exception e) {            model.put("message", e.getMessage());            return "error";        }    }    @Bean    public DataSource dataSource() throws SQLException, URISyntaxException {        if (dbUrl == null || dbUrl.isEmpty()) {            return new HikariDataSource();        } else {            HikariConfig config = new HikariConfig();            config.setJdbcUrl(dbUrl);            return new HikariDataSource(config);        }    }我也嘗試dbUrl從 Heroku 配置接收URI dbUri = new URI(System.getenv("DATABASE_URL"));            String username = dbUri.getUserInfo().split(":")[0];            String password = dbUri.getUserInfo().split(":")[1];            String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ':' + dbUri.getPort() + dbUri.getPath() + "?sslmode=require";在我轉(zhuǎn)到 /db 頁面后,我收到HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required. 我做錯了什么?
查看完整描述

1 回答

?
嗶嗶one

TA貢獻1854條經(jīng)驗 獲得超8個贊

使用教程中的@Bean。您必須從 heroku 復(fù)制(或只是創(chuàng)建).env 文件并添加連接字符串,因為它最初并未存儲在那里,但 heroku 像對待它一樣對待它。

  • 在控制臺中通過命令獲取 JDBC_DATABASE_URL(在 Windows 上)heroku run echo $JDBC_DATABASE_URL

  • 從輸出復(fù)制字符串

  • 將此字符串作為變量粘貼到項目中的 .env 文件中JDBC_DATABASE_URL="your_conecction_string_copied_from_console"

  • 安慰:heroku local web

  • 利潤 :)

Windows的快捷腳本:

echo|set /p="JDBC_DATABASE_URL=" | heroku run echo $JDBC_DATABASE_URL  >> .env


查看完整回答
反對 回復(fù) 2022-12-28
  • 1 回答
  • 0 關(guān)注
  • 87 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號