使用java输入带反斜杠的SQL查询
我有一个java程序,可以连接到Oracle SQL Developer中的数据库。 我需要数据库中的数据导出到.csv文件。我可以在SQLDeveloper中使用假脱机直接执行此操作,如图所示使用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
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代码从查询结果写入文件。