Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 使用JdbcDatasource的迎风报告存在问题_Java_Sql_Oracle_Report_Windward - Fatal编程技术网

Java 使用JdbcDatasource的迎风报告存在问题

Java 使用JdbcDatasource的迎风报告存在问题,java,sql,oracle,report,windward,Java,Sql,Oracle,Report,Windward,我试图用迎风报告来做一个简单的报告。我使用JdbcDataSorce对象来连接Oracle数据库。代码如下: package org.qrf.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.Input

我试图用迎风报告来做一个简单的报告。我使用JdbcDataSorce对象来连接Oracle数据库。代码如下:

package org.qrf.test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;

import net.windward.bean.BeanProviderException;
import net.windward.datasource.DatasetField;
import net.windward.datasource.jdbc.JdbcDataSource;
import net.windward.datasource.jdbc.JdbcDataset;
import net.windward.datasource.jdbc.JdbcDatasetField;
import net.windward.env.DataConnectionException;
import net.windward.env.DataSourceException;
import net.windward.env.OutputLimitationException;
import net.windward.format.TemplateParseException;
import net.windward.tags.TagException;
import net.windward.util.LicenseException;
import net.windward.xmlreport.AlreadyProcessedException;
import net.windward.xmlreport.ProcessReport;
import net.windward.xmlreport.ProcessRtf;
import net.windward.xmlreport.ProcessRtfAPI;
import net.windward.xmlreport.SetupException;

public class SQLDatasourcePrintTask {       
public static void main(String[] args) {
    Connection conn = null;
    try {
        Class.forName ("oracle.jdbc.OracleDriver");
        conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@//localhost:1521/mybase", "scott", "tiger");
        JdbcDataSource ds = new JdbcDataSource(conn);

        ProcessReport.init();

        // объявление полей таблицы шаблона
        ArrayList<JdbcDatasetField> fields = new ArrayList<JdbcDatasetField>();
        fields.add(new JdbcDatasetField("SNAME_EDI", "VARCHAR2", "SNAME_EDI", null, DatasetField.TYPE_COLUMN));
        fields.add(new JdbcDatasetField("NAME_EDI",  "VARCHAR2", "NAME_EDI",  null, DatasetField.TYPE_COLUMN));
        fields.add(new JdbcDatasetField("ID_EDI",    "NUMBER",   "ID_EDI",    null, DatasetField.TYPE_COLUMN));
        fields.add(new JdbcDatasetField("CODE_EDI",  "NUMBER",   "CODE_EDI",  null, DatasetField.TYPE_COLUMN));
        // объявление набора данных
        JdbcDataset dataset = new JdbcDataset("SPR_EDI_DATASET", 
                "select se.id_edi, se.name_edi, se.sname_edi, se.code_edi " +
                "   from SPR_EDI se", "---", fields);
        // Объявление потоков
        InputStream in = new FileInputStream(new File("template/sql_template.rtf"));
        OutputStream out = new FileOutputStream(new File("sql_datasource_out.rtf"));            
        // объявление RTF-процессора
        ProcessRtfAPI process = new ProcessRtf(
                in, out);
        process.processSetup();
        // объявление карты переменных
        HashMap<String, Object> variablesMap = new HashMap<String, Object>();
        variablesMap.put("id_edi", 100);

        ds.setDatasets(new Object[]{dataset});                  
        ds.setMap(variablesMap);                        
        process.processData(ds, "SPR_EDI_DATASET");         
        process.processComplete();
        out.flush();
        in.close();
        out.close();
    } catch (ClassNotFoundException e) {            
        e.printStackTrace();
    } catch (SQLException e) {          
        e.printStackTrace();
    } catch (DataConnectionException e) {           
        e.printStackTrace();
    } catch (LicenseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (SetupException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (TagException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (AlreadyProcessedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (DataSourceException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (BeanProviderException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (TemplateParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (OutputLimitationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        try {
            conn.close();               
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
package org.qrf.test;
导入java.io.File;
导入java.io.FileInputStream;
导入java.io.FileNotFoundException;
导入java.io.FileOutputStream;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.OutputStream;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.SQLException;
导入java.util.ArrayList;
导入java.util.HashMap;
导入net.windward.bean.bean提供异常;
导入net.windward.datasource.DatasetField;
导入net.windward.datasource.jdbc.JdbcDataSource;
导入net.windward.datasource.jdbc.JdbcDataset;
导入net.windward.datasource.jdbc.JdbcDatasetField;
导入net.windward.env.DataConnectionException;
导入net.windward.env.DataSourceException;
导入net.windward.env.OutputLimitationException;
导入net.windward.format.TemplateParseException;
导入net.windward.tags.TagException;
导入net.windward.util.LicenseException;
导入net.windward.xmlreport.AlreadyProcessedException;
导入net.windward.xmlreport.ProcessReport;
导入net.windward.xmlreport.ProcessRtf;
导入net.windward.xmlreport.ProcessRtfAPI;
导入net.windward.xmlreport.SetupException;
公共类SQLDatasourcePrintTask{
公共静态void main(字符串[]args){
连接conn=null;
试一试{
Class.forName(“oracle.jdbc.OracleDriver”);
conn=DriverManager.getConnection(
“jdbc:oracle:thin:@//localhost:1521/mybase”、“scott”、“tiger”);
JdbcDataSource ds=新的JdbcDataSource(conn);
ProcessReport.init();
// объявление полей таблицы шаблона
ArrayList字段=新的ArrayList();
add(新的JdbcDatasetField(“SNAME_EDI”、“VARCHAR2”、“SNAME_EDI”、null、DatasetField.TYPE_列));
add(新的JdbcDatasetField(“NAME_EDI”,“VARCHAR2”,“NAME_EDI”,null,DatasetField.TYPE_列));
添加(新的JdbcDatasetField(“ID_EDI”,“NUMBER”,“ID_EDI”,null,DatasetField.TYPE_列));
添加(新的JdbcDatasetField(“CODE_EDI”、“NUMBER”、“CODE_EDI”、null、DatasetField.TYPE_列));
// объявление набора данных
JdbcDataset数据集=新的JdbcDataset(“SPR_EDI_数据集”,
选择se.id\u edi、se.name\u edi、se.sname\u edi、se.code\u edi+
“从SPR_EDI se”、“--”字段);
// Объявление потоков
InputStream in=新文件InputStream(新文件(“template/sql_template.rtf”);
OutputStream out=新文件OutputStream(新文件(“sql\u datasource\u out.rtf”);
//бъбббббббRTF-бббббб
ProcessRtfAPI进程=新进程RTF(
进、出);
process.processSetup();
// объявление карты переменных
HashMap variablesMap=新HashMap();
变量映射put(“id_edi”,100);
setDatasets(新对象[]{dataset});
ds.setMap(variablesMap);
processData(ds,“SPR_EDI_数据集”);
process.processComplete();
out.flush();
in.close();
out.close();
}catch(classnotfound异常){
e、 printStackTrace();
}捕获(SQLE){
e、 printStackTrace();
}捕获(DataConnectionException e){
e、 printStackTrace();
}捕获(被许可人例外){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(设置异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}catch(filenotfounde异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(Tage例外){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(AlreadyProcessedException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(数据源异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(BeanProviderException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}catch(templateparsee异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(OutputLimitationException e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}最后{
试一试{
康涅狄格州关闭();
}捕获(SQLE异常){
e、 printStackTrace();
}
}
}
}

我还使用了使用AutoTag工具创建的简单模板


当我运行这个程序时,似乎连接到数据库是成功的,但当我在完成后打开输出文件时,我得到的内容与上图相同。请帮我解决这个问题。

通常情况下,发生这种情况时,问题是您的电话:

processData(ds,“SPR_EDI_数据集”)

使用名称“SPR_EDI_DATASET”,但模板中的标记对于数据源具有不同的名称