LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
- LANGKAH INSTALASI iREPORT DESIGNER,JASPER REPORT, XAMPP PHP ADD ON TOMCAT YANG
DISOKONG DENGAN CONNECTION DENGAN ORACLE DB
(SAH UNTUK PLATFORM VERSION WINDOWS SAHAJA)
Pengenalan
Persoalan biasa di fikiran programmer web dan khususnya programmer open sources
adalah untuk menghasilkan laporan yang pantas, format pdf, boleh design seperti aplikasi
oracle report builder, aplikasi crystal report untuk keluarga windows, ada unsur graf,
menjana invoice, receipt, matrix report dan sebagainya. Memang sukar jika tiada designer
khusus yang berbentuk wizard untuk melakar atau mendesign laporan yang dikehendaki
dengan pantas .
Bagaimana anda ingin membangunkan laporan yang diakses oleh bahasa aturcara
Apa yang perlu anda ada ?
Anda perlu mendapatkan perisian seperti yang berikut :-
a. iReport versi terkini yang boleh dimuatturun secara percuma dari laman web
http://jasperforge.org/projects/ireport
b. Xampp yang di add on dengan tomcat (melarikan aturcara java bersama php)
yang boleh dimuatturun melalui laman web
http://www.apachefriends.org/en/xampp-windows.html
(Versi XAMPP 1.7.7 ke atas sudah ada feature untuk add on tomcat)
c. Oracle jdbc driver untuk ireport (ojdbc6) yang support untuk oracle db 11g dan ia
boleh di dapati dari laman web :
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-
090769.html
LANGKAH 1 : INSTALASI DAN KONFIGURASI Ireport
1. Setelah perisian ini didownload, anda perlu runkan setup dan ikut arahan sehingga
selesai
2. Selepas proses install selepas, anda perlu membuka aplikasi ini dan paparan adalah
seperti yang di bawah :
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
3. Untuk mendapatkan connection dengan pangkalan data oracle, aplikasi ini
memerlukan driver oracle jdbc untuk ditambah sebagai library. Justeru itu, driver
oracle jdbc yang telah dimuatturun dalam langkah awal tadi perlu diletakkan di
dalam folder \libs iaitu seperti “D:\iReport-4.1.3\ireport\libs”.
4. Selepas itu, anda perlu menambah file oracle jdbc (jar) ini melalui menu
tools>Options> dan seterus tekan butang “Add Jar” untuk mencari fail oracle jdbc
yang telah dimuaturun tadi.Ikut langkah sehingga selesai.
5. Untuk memastikan anda sudah ada connection dengan oracle, anda boleh
membina satu laporan yang ringkas iaitu melalui menu File > New >Select Template
Report >Report Name (path) > Query.Anda perlu membina connection baru dengan
klik pada butang “New” > Database JDBC connection >Next> dan pilihan senarai
nama driver oracle (warna hitam). Jika senarai warna merah bermaksud belum ada
fail driver lagi.
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
6. Seterusnya,masukkan maklumat untuk akses ke oracle seperti berikut :-
7. Sila tekan butang “test” connection untuk menguji sama ada connection ke oracle
berjaya atau tidak dan ikuti langkah hingga selesai.
8. Seterusnya anda sudah boleh membina laporan yang mana data diakses daripada
pangkalan data oracle.
9. Fail yang disimpan dibawah aplikasi iReport adalah (.jrxml) dan ia boleh dibaca
melalui web server apache untuk dipaparkan di web . Sila ikut langkah seterusnya.
LANGKAH 2: INSTALASI XAMPP ADD ON TOMCAT.
1. Selepas proses download selepas,anda perlu membuat langkah setup seperti biasa
2. Jika anda sudah mempunyai aplikasi Xampp versi lain yang dipasang sebelum ini
anda perlu meletakkan xampp baru di directori yang berlainan dan pastikan servis
xampp yang terdahulu dimatikan agar tidak konflik.
3. Selepas memasang XAMP versi ini, ada dua servis utama perlu di ‘run’kan semasa
menjalan sistem aplikasi anda iaitu ‘apache_start’ dan ‘catalina_start’. Kedua-dua
servis ini perlu dihidupkan.
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
LANGKAH 3: KONFIGURASI XAMPP TOMCAT DENGAN JASPER REPORT.
Berikut merupakan konfigurasi web server dengan jasper report. Sila ikuti langkah yang di
bawah :-
1. Stop tomcat & Apache web server
2. Salin D:\iReport-4.1.3\ireport\modules\ext ke dalam JAVA_HOME/jre/lib/ext/.
3. Salin D:\iReport-4.1.3\ireport\modules\ext ke dalam
xampp\tomcat\webapps\JavaBridge\WEB-INF\lib
4. Salin folder java yang terdapat dalam xampp\tomcat\webapps\JavaBridge ke
D:\xampptomcat\xampp\htdocs\apps_folder
5. Salin folder \xampp\tomcat\webapps\JavaBridge ke
D:\xampptomcat\xampp\htdocs\apps_folder
6. Restart tomcat and apache.
LANGKAH 4: MENCUBA UNTUK MENJANA REPORT JASPER DARI XAMPP
Berikut merupakan langkah-langkahnya :-
1. Anda perlu menghasilkan satu laporan menggunakan iReport dan simpan dalam
mana direktori (default dalam folder libs)
2. Setelah kompilkan report tersebut anda salin fail *.jrxml tadi ke dalam folder apps root
di bawah (www/htdocs). Contoh saya letakkan nama folder jasper.
3. Seterusnya bangunkan aturcara untuk memanggil fail dan savekan file ini (php) .
Contohnya adalah seperti berikut :
4.1 MENJANA LAPORAN TANPA PARAMETER (save : oracledbwithoutparam.php)
<?php
/**
* see if the java extension was loaded.
*/
function checkJavaExtension()
{
if(!extension_loaded(‘java’))
{
$sapi_type = php_sapi_name();
$port = (isset($_SERVER[‘SERVER_PORT’]) &&
(($_SERVER[‘SERVER_PORT’])>1024)) ? $_SERVER[‘SERVER_PORT’] : ‘8088’;
print $port;
if ($sapi_type == “cgi” || $sapi_type == “cgi-fcgi” || $sapi_type == “cli”)
{
if(!(PHP_SHLIB_SUFFIX==”so” &&
@dl(‘java.so’))&&!(PHP_SHLIB_SUFFIX==”dll” &&
@dl(‘php_java.dll’))&&!(@include_once(“java/Java.inc”))&&!(require_once(“ht
tp://127.0.0.1:$port/java/Java.inc”)))
{
return “java extension not installed.”;
}
}
else
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
{
if(!(@include_once(“java/Java.inc”)))
{
require_once(“http://localhost:8088/JavaBridge/java/Java.inc”);
}
}
}
if(!function_exists(“java_get_server_name”))
{
return “The loaded java extension is not the PHP/Java Bridge”;
}
return true;
}
/**
* convert a php value to a java one…
* @param string $value
* @param string $className
* @returns boolean success
*/
function convertValue($value, $className)
{
// if we are a string, just use the normal conversion
// methods from the java extension…
try
{
if ($className == ‘java.lang.String’)
{
$temp = new Java(‘java.lang.String’, $value);
return $temp;
}
else if ($className == ‘java.lang.Boolean’ ||
$className == ‘java.lang.Integer’ ||
$className == ‘java.lang.Long’ ||
$className == ‘java.lang.Short’ ||
$className == ‘java.lang.Double’ ||
$className == ‘java.math.BigDecimal’)
{
$temp = new Java($className, $value);
return $temp;
}
else if ($className == ‘java.sql.Timestamp’ ||
$className == ‘java.sql.Time’)
{
$temp = new Java($className);
$javaObject = $temp->valueOf($value);
return $javaObject;
}
}
catch (Exception $err)
{
echo ( ‘unable to convert value, ‘ . $value .
‘ could not be converted to ‘ . $className);
return false;
}
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
echo ( ‘unable to convert value, class name ‘.$className.
‘ not recognised’);
return false;
}
checkJavaExtension();
$compileManager = new
JavaClass(“net.sf.jasperreports.engine.JasperCompileManager”);
$report = $compileManager->compileReport(realpath(“report22.jrxml”));
$fillManager = new JavaClass(“net.sf.jasperreports.engine.JasperFillManager”);
$params = new Java(“java.util.HashMap”);
$c = new JavaClass(“oracle.jdbc.driver.OracleDriver”);
$d = $c->newInstance();
$dm = new JavaClass(“java.sql.DriverManager”);
$conn = $dm-
>getConnection(“jdbc:oracle:thin:@localhost:1521:dbpekan”,”cmsadmin”,”roo
t”);
$jasperPrint = $fillManager->fillReport($report, $params, $conn);
$outputPath = realpath(“.”).”/”.”output.pdf”;
$exportManager = new
JavaClass(“net.sf.jasperreports.engine.JasperExportManager”);
$exportManager->exportReportToPdfFile($jasperPrint, $outputPath);
header(“Content-type: application/pdf”);
readfile($outputPath);
unlink($outputPath);
?>
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
4.2 MENJANA LAPORAN DENGAN PARAMETER (save : oracledbwithparam.php)
<?php
/**
* see if the java extension was loaded.
*/
function checkJavaExtension()
{
if(!extension_loaded(‘java’))
{
$sapi_type = php_sapi_name();
$port = (isset($_SERVER[‘SERVER_PORT’]) &&
(($_SERVER[‘SERVER_PORT’])>1024)) ? $_SERVER[‘SERVER_PORT’] : ‘8088’;
print $port;
if ($sapi_type == “cgi” || $sapi_type == “cgi-fcgi” || $sapi_type == “cli”)
{
if(!(PHP_SHLIB_SUFFIX==”so” &&
@dl(‘java.so’))&&!(PHP_SHLIB_SUFFIX==”dll” &&
@dl(‘php_java.dll’))&&!(@include_once(“java/Java.inc”))&&!(require_once(“ht
tp://127.0.0.1:$port/java/Java.inc”)))
{
return “java extension not installed.”;
}
}
else
{
if(!(@include_once(“java/Java.inc”)))
{
require_once(“http://localhost:8088/JavaBridge/java/Java.inc”);
}
}
}
if(!function_exists(“java_get_server_name”))
{
return “The loaded java extension is not the PHP/Java Bridge”;
}
return true;
}
/**
* convert a php value to a java one…
* @param string $value
* @param string $className
* @returns boolean success
*/
function convertValue($value, $className)
{
// if we are a string, just use the normal conversion
// methods from the java extension…
try
{
if ($className == ‘java.lang.String’)
{
$temp = new Java(‘java.lang.String’, $value);
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
return $temp;
}
else if ($className == ‘java.lang.Boolean’ ||
$className == ‘java.lang.Integer’ ||
$className == ‘java.lang.Long’ ||
$className == ‘java.lang.Short’ ||
$className == ‘java.lang.Double’ ||
$className == ‘java.math.BigDecimal’)
{
$temp = new Java($className, $value);
return $temp;
}
else if ($className == ‘java.sql.Timestamp’ ||
$className == ‘java.sql.Time’)
{
$temp = new Java($className);
$javaObject = $temp->valueOf($value);
return $javaObject;
}
}
catch (Exception $err)
{
echo ( ‘unable to convert value, ‘ . $value .
‘ could not be converted to ‘ . $className);
return false;
}
echo ( ‘unable to convert value, class name ‘.$className.
‘ not recognised’);
return false;
}
checkJavaExtension();
$compileManager = new
JavaClass(“net.sf.jasperreports.engine.JasperCompileManager”);
$report = $compileManager->compileReport(realpath(“report22.jrxml”));
$fillManager = new JavaClass(“net.sf.jasperreports.engine.JasperFillManager”);
$params = new Java(“java.util.HashMap”);
/* @send parameter from php to jasper */
$params->put(“P_INVOICE_ID”, convertValue($_REQUEST[“P_INVOICE_ID”],
“java.lang.Long”));
$params->put(“SUBREPORT_DIR”,
“D:/work/php/n21eBusinessSuite/product/src/___reports/src”);
$c = new JavaClass(“oracle.jdbc.driver.OracleDriver”);
$d = $c->newInstance();
$dm = new JavaClass(“java.sql.DriverManager”);
$conn = $dm-
>getConnection(“jdbc:oracle:thin:@localhost:1521:dbpekan”,”cmsadmin”,”roo
t”);
$jasperPrint = $fillManager->fillReport($report, $params, $conn);
$outputPath = realpath(“.”).”/”.”output.pdf”;
$exportManager = new
JavaClass(“net.sf.jasperreports.engine.JasperExportManager”);
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
$exportManager->exportReportToPdfFile($jasperPrint, $outputPath);
header(“Content-type: application/pdf”);
readfile($outputPath);
unlink($outputPath);
?>
Seterusnya, anda boleh mencuba untuk menjana laporan dengan memasukkan
alamat url seperti biasa iaitu :
http://localhost/jasper/ oracledbwithparam.php
http://localhost/jasper/ oracledbwithoutparam.php
Output janaan laporan adalah sepertidi bawah :-
Nota : Proses ini juga lebih kurang untuk menggunakan jasper report server dalam
pembangunan laman web menggunakan java server pages.
LANGKAH INSTALASI iReport Jasper,XAMMP Add On Tomcat & Oracle 2011
SELAMAT MENCUBA …
SEKIAN TERIMA KASIH
Langkah Instalasi iReport Designer,Jasper,XAMPP Addon Tomcat Plus PHP With Oracle DB Support