Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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输入带反斜杠的SQL查询_Java_Sql_Oracle Sqldeveloper - Fatal编程技术网

使用java输入带反斜杠的SQL查询

使用java输入带反斜杠的SQL查询,java,sql,oracle-sqldeveloper,Java,Sql,Oracle Sqldeveloper,我有一个java程序,可以连接到Oracle SQL Developer中的数据库。 我需要数据库中的数据导出到.csv文件。我可以在SQLDeveloper中使用假脱机直接执行此操作,如图所示 spool D:\fileLocation\fileName.csv select /*csv*/ * from Table; spool off 我需要能够从java程序输入到SQL开发人员。我可以使用下面的代码输入从java到sql的查询 Statement SumLevel = connecti

我有一个java程序,可以连接到Oracle SQL Developer中的数据库。 我需要数据库中的数据导出到.csv文件。我可以在SQLDeveloper中使用假脱机直接执行此操作,如图所示

spool D:\fileLocation\fileName.csv
select /*csv*/ * from Table;
spool off
我需要能够从java程序输入到SQL开发人员。我可以使用下面的代码输入从java到sql的查询

Statement SumLevel = connection.createStatement();
    try{
        SumLevel.executeQuery("SQL Query");
        System.out.println("Succesfuly Entered Data");

    }catch(SQLException e){
        System.out.println(e);
    }finally{
        if(CompareLevel != null){
            CompareLevel.close();
        }
    }
显然,java中的\不仅仅是一个字符,所以如果我尝试java中的假脱机的第一行,它将尝试执行\f,这是一个单独的函数

使用\\打印出所需的代码,但当它输入到sql时,表示出现错误“java.sql.SQLSyntaxErrorException:ORA-00900:invalid sql statement”。 我认为这是由于SQL读取代码时显示\\而不是\

spool D:\\fileLocatoin\\fileName.csv
select /*csv*/ * from Table;
spool off
如何将sql假脱机代码输入到java程序中


谢谢

简短回答您无法从
Java
运行
spool
命令

解释

Java没有连接到Oracle SQL Developer,而是连接到Oracle数据库。 Oracle数据库可以运行
SQL
查询

spool
命令不是
SQL
的一部分。它是Oracle SQL Developer命令语言的命令

解决方案

或者运行
SQL
查询(
select*from Table
,注意它不允许在其中添加注释),然后处理结果并使用一些
CSV
库写入文件


或者您继续使用Oracle SQL Developer工具。

您没有。运行查询后,使用java代码从查询结果写入文件。