หากว่าใครได้เคยมีโอกาศได้ใช้ Oracle XML Publisher คงจะรู้ว่ามันคือ Report Tool ที่ Oracle ได้เอาไว้ใช้ในการจัดกับ Layout ของ Report โดยในการใช้งานนั้น Oracle ได้นำมาใช้ครั้งแรกใน Oracle E-Business Suite 11.5.10 โดยหน้าที่ของ XML Publisher ก็คือการจัดรูปแบบของเอกสารที่เป็น XML ซึ่งหากว่าในระบบมีการใช้งาน XML ก็จะนำ XML Publisher นี้ไปใช้ได้ ซึ่งนั่นหมายถึง Web Service ด้วยครับ
ใน Oracle XML Publisher 5.6.2 นี้ ได้มี API ที่ไว้สร้าง XML เพื่อเป็น Datasource ให้กับ Report ขึ้นมา ซึ่งเราจะมาดูกันว่าหากเราจะสร้าง Datasource นั้นเราจะต้องทำอย่างไร
- เริ่มแรกให้เราไป Download Oracle XML Publisher 5.6.2 นี้มาก่อนครับ
- ขั้นตอนถัดมาให้เรานำ Library มาใช้ โดย Library จะอยู่ใน <zip_dir>/manual/lib
- จากนั้นให้เราสร้าง xml ขึ้นมาเพื่อไว้ใช้เป็น template ของ Datasource โดยในตัวอย่างนี้จะทำการดึงข้อมูลจาก Table Employee ใน HR Schema ซึ่งเป็น Sample Schema ใน Oracle Database มาแสดงโดยที่มี JOB_ID เป็น Parameter นะครับ
- หลังจากที่เรามี Template สำหรับ Datasource แล้วก็มา นำมาใช้ใน Code Java ตามตัวอย่างได้เลยครับ
<?xml version="1.0" encoding="WINDOWS-1252" ?>
<dataTemplate name="employeeData" description="Employees Data"
defaultPackage="" Version="1.0">
<parameters>
<parameter name="job" dataType="character"/>
</parameters>
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[
SELECT em.employee_id,
em.first_name||' '||em.last_name ename,
em.email,
em.phone_number,
em.salary,
em.commission_pct
FROM employees em
WHERE em.Job_Id = :job
]]>
</sqlStatement>
</dataQuery>
<dataSructure>
<group name="G_EMP" source="Q1">
<element name="ID" value="employee_id"/>
<element name="NAME" value="ename"/>
<element name="EMAIL" value="email"/>
<element name="PHONE_NUMBER" value="phone_number"/>
<element name="SALARY" value="salary"/>
<element name="COMMISSTION" value="commission_pct"/>
</group>
</dataSructure>
</dataTemplate>
package my.xml;
import com.sun.java.util.collections.Hashtable;
import java.sql.DriverManager;
import java.sql.SQLException;
import oracle.apps.xdo.XDOException;
import oracle.apps.xdo.dataengine.DataProcessor;
public class XMLSource {
public static void main(String[] args) {
try {
// Create Connection And Connect To Database
Class.forName("oracle.jdbc.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.2.19:1521:ORCL";
java.sql.Connection jdbcConnection = DriverManager.getConnection(url,
"HR", "HR");
// New DataProcess and Set Template
DataProcessor dataProcessor = new DataProcessor();
dataProcessor.setDataTemplate("employeeDS.xml");
// Create Parameter Hashtable and set to DataProcess
Hashtable parameters = new Hashtable();
parameters.put("job", "IT_PROG");
dataProcessor.setParameters(parameters);
// Set Connection to DataProcess
dataProcessor.setConnection(jdbcConnection);
// Generate Datasource to XML File
dataProcessor.setOutput("employeeData.xml");
// Process
dataProcessor.processData();
} catch (SQLException e) {
System.out.println("SQLException " + e.getMessage());
} catch (ClassNotFoundException e) {
System.out.println("ClassNotFoundException " + e.getMessage());
} catch (XDOException e) {
System.out.println("XDOException" + e.getMessage());
}
}
}
3 comments:
ตัวนี้มาทดแทน Oracle Reports ใช่มั้ยครับ
อย่างนี้ในกรณีที่เราติดตั้ง Oracle E-Business Suite 11.5.10 ลงไป
จะยังมี Oracle Reports ให้ใช้ควบคู่กับ XML Publisher หรือจะเหลือแต่ XML Publisher เพียงอย่างเดียวครับ?
ลองใช้ดูแล้ว น่าใช้ทีเดียว แต่ไม่มีหนังสืออ่านเลย
และในเมืองไทย ยังไม่มี training
ใช่ครับ,
ยังไงลองดูที่นี่ครับ
http://www.oracle.com/technology/products/xml-publisher/xmlpdocs.html
http://www.oracle.com/technology/products/xml-publisher/docs/XMLPEnterprise562UserGuide.pdf
เป็น official user guide
ปัจจุบันได้เปลี่ยนชื่อจาก XML Publisher เป็น BI Publisher ด้วยครับ
Post a Comment