java - 为什么我的 jdbc 数据库函数无法读取正斜杠

标签 java postgresql jdbc

我有一个从数据库读取主键的函数,但由于某种原因我无法读取正斜杠。

host: jdbc:postgresql://databaseurl
    dbname: databasename
    dbuser: databaseuser
    dbpass: databasepass

这是我的输入,这是我针对该输入的函数

public static String pkDatabase(String host, String dbname, String dbuser, String dbpass, String table)
            throws IOException, SQLException {

        String url = host + "//" + dbname;
        String user = dbuser;
        String password = dbpass;

        Connection conn = DriverManager.getConnection(url, user, password);

        DatabaseMetaData meta = conn.getMetaData();

        ResultSet rs1 = meta.getTables(null, null, table, new String[] { table });
        rs1 = meta.getPrimaryKeys(null, null, table);

        ArrayList<String> arr = new ArrayList<String>();
        while (rs1.next()) {
            arr.add(rs1.getString(4));
        }

        String listString = "";

        for (String s : arr) {
            listString += s;
        }

        return listString;

    }

这是我的输出

FATAL: database "/databasename" does not exist

我该如何解决这个问题?

最佳答案

你的问题就在这一行

    String url = host + "//" + dbname;

它应该只有一个正斜杠

    String url = host + "/" + dbname;

关于java - 为什么我的 jdbc 数据库函数无法读取正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58279720/

相关文章:

java - Docker 支持 - Google App Engine (Java)

java - MariaDB JDBC 驱动程序是否忽略连接超时?

java - Postgresql-Hibertnate 重复键值违反唯一约束

最后插入 ID 的 PostgreSQL 函数

java - 每个请求都有一个 DAO 访问权限

java - 如何在java中的jtable中的特定行添加复选框?

java - 如何将 Angular 与 Spring Boot 集成以在 Spring Boot 端口上查看 Angular Web 界面?

database - 如何为 postgresql 配置 HikariCP?

java - 在其他对象之间共享 JDBC Connection 对象

java - 如何设置jdbc驱动类路径