Selenium 与 postgreSQL [重复]

Posted

技术标签:

【中文标题】Selenium 与 postgreSQL [重复]【英文标题】:Selenium with postgreSQL [duplicate] 【发布时间】:2017-08-07 07:38:42 【问题描述】:

我正在尝试将 Selenium 与 Postgres 连接,并显示以下错误:

失败:selectQuery org.postgresql.util.PSQLException:错误:关系 “登录”不存在

我的代码如下:

package Posgress;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.testng.annotations.Test;

@Test public class PosgressTest 
  public static void selectQuery() throws SQLException, ClassNotFoundException 
    //Load mysql JDBC Driver
    Class.forName("org.postgresql.Driver");
    Connection connection =
      DriverManager
        .getConnection("jdbc:postgresql://localhost:5432/DIC","postgres", "root");

    Statement st = connection.createStatement();
    System.out.println("Connection");
    String selectquery = "Select * from Login";
    System.out.println("Connection1");

    // Executing the SQL Query and store the results in ResultSet
    ResultSet rs = st.executeQuery(selectquery);

    // While loop to iterate through all data and print results
    while (rs.next()) 
      System.out.println(rs.getString("username"));
      System.out.println(rs.getString("password"));
    

    // Closing DB Connection
    connection.close();
  

我有一个表“在架构“DICschema”中登录。我也写了这样的选择查询“从 DICschema.Login 中选择 *”,然后也是同样的错误

【问题讨论】:

【参考方案1】:

您应该将表重命名为“login”,将架构重命名为“dicschema”,而不是“Login”和“DICschema”。因为查询会忽略文本的大小写。 查询将类似于: "从 dicschema.login 中选择 *"

【讨论】:

【参考方案2】:

如果您想保持架构和表名不变(不更改字符大小写),以下查询应该适合您。

String selectquery = "SELECT * FROM \"DICschema\".\"Login\" ";

这是因为字符串在编译时会变成小写,可以通过使用反斜杠来避免。

【讨论】:

【参考方案3】:

postgres 用户似乎无法访问 DIC 架构。 尝试将前缀(模式)名称附加到查询中。

【讨论】:

我也给出了这样的“Select * from DICschema.Login”。我得到了同样的错误 postgres 用户是否有权访问 DICschema? 如何为用户提供访问架构的权限? 但是公共的桌子可以连接。

以上是关于Selenium 与 postgreSQL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Selenium xpath 对 python 的行为与对 ruby​​ 的行为不同 [重复]

Dockerfile 和 Docker Compose 与 Java Spring Boot、Gradle 和 PostgreSQL [重复]

使用 PostgreSQL 的 Hibernate import.sql 重复主键

在 Python 中使用 Selenium 浏览链接 [重复]

PostgreSQL:具有选择性列的 row_to_json [重复]

使用 Dojo ID 进行 Selenium WebDriver 测试 [重复]