Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLException:ERROR:syntax ERROR位于或接近\&引用;_Java_Sql_Postgresql_Psql - Fatal编程技术网

Java SQLException:ERROR:syntax ERROR位于或接近\&引用;

Java SQLException:ERROR:syntax ERROR位于或接近\&引用;,java,sql,postgresql,psql,Java,Sql,Postgresql,Psql,我想在ma数据库中获取一个表列表,并将其设置为字符串。我已连接到数据库,但当我尝试使用Postgres“\dt”函数时,getTables()抛出org.postgresql.util.PSQLException:ERROR:syntax ERROR在“\”处或附近 有什么问题?一个简单的反斜杠被报告为错误 JDK(将\dt视为正则表达式) import java.sql.*; 导入java.util.ArrayList; 公共类数据连接{ Statement=null; 连接=空; 数据连接(

我想在ma数据库中获取一个表列表,并将其设置为字符串。我已连接到数据库,但当我尝试使用Postgres“\dt”函数时,getTables()抛出
org.postgresql.util.PSQLException:ERROR:syntax ERROR在“\”处或附近
有什么问题?一个简单的反斜杠被报告为错误 JDK(将
\dt
视为正则表达式)

import java.sql.*;
导入java.util.ArrayList;
公共类数据连接{
Statement=null;
连接=空;
数据连接(){
试一试{
Class.forName(“org.postgresql.Driver”);
connection=DriverManager.getConnection(“jdbc:postgresql://localhost:5432/postgres", "", "");
statement=connection.createStatement();
}catch(classnotfounde异常){
e、 printStackTrace();
System.out.append(“缺少驱动程序”);
end();
}捕获(SQLE异常){
e、 printStackTrace();
系统输出追加(“错误顺序”);
end();
}
}
ArrayList getTables(){
ArrayList tables=新的ArrayList();
试一试{
ResultSet rs=语句.executeQuery(\\dt”);
while(rs.next()){
String databaseName=rs.getString(“名称”);
}
返回表;
}捕获(例外e){
e、 printStackTrace();
end();
返回null;
}
}
}

\dt
不是有效的SQL语法-它是一个。您可以通过查询信息架构来执行类似的功能:

ResultSet rs = statement.executeQuery("SELECT table_name FROM information_schema.tables");

\dt
不是有效的SQL语法-它是一个。您可以通过查询信息架构来执行类似的功能:

ResultSet rs = statement.executeQuery("SELECT table_name FROM information_schema.tables");

当然,我删除用户和密码只是为了在堆栈上发布当然,删除用户和密码只是为了在堆栈上发布
psql
文档称它们为@Andreas,我觉得“macro”听起来很奇怪,但记不起正确的名称。谢谢将其编辑到我的答案中。
psql
文档称之为@Andreas,因为我觉得“macro”听起来很奇怪,但记不起正确的名称。谢谢把它编辑成我的答案。