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 浏览链接 [重复]