QR code Generate From Oracle PLSQL
QR code Generate From Oracle PLSQL
Here is a GITHUB link For necessary Files.
https://github.com/Rehman0270/PLSQLQRcode
1) Download The required files from above link.
2) upload all jar archives in lib folder to your database
(Eample path in WINSCP to put the jar files : /u02/oracle/VIS/fs1/EBSapps/10.1.2/lib)
3) After uploading open putty and change directory to lib folder in WINSCP and run below commands one by one
cd /u02/oracle/VIS/fs1/EBSapps/10.1.2/lib
loadjava -force -genmissing -r -user username/password@database -verbose core-1.7.jar
loadjava -force -genmissing -r -user username/password@database -verbose javase-1.7.jar
loadjava -force -genmissing -r -user username/password@database -verbose qrgen-1.2.jar
4) Open sql developer and run this functions
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "QRCodeBean" as import oracle.sql.BLOB;
import oracle.sql.*;
import oracle.jdbc.driver.*;
import java.sql.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.*;
import java.util.*;
import net.glxn.qrgen.QRCode;
import net.glxn.qrgen.image.ImageType;
public class QRCodeGenerator{
static OracleDriver ora = new OracleDriver();
static Connection conn;
static ByteArrayOutputStream out;
static {
try {
conn = ora.defaultConnection();
}
catch(Exception ex){}
}
public static BLOB getQrCode(String value) throws Exception
{
if (conn == null) conn = ora.defaultConnection();
BLOB retBlob = BLOB.createTemporary(conn, true, oracle.sql.BLOB.DURATION_SESSION);
ByteArrayOutputStream out = new ByteArrayOutputStream();
out = net.glxn.qrgen.QRCode.from(value).to(ImageType.GIF).stream();
try {
java.io.OutputStream outStr = retBlob.setBinaryStream(0);
outStr.write(out.toByteArray());
outStr.flush();
} finally {
out.close();
}
return retBlob;
}
}
/
CREATE OR REPLACE function getQRcode(p_text in varchar2) return BLOB as LANGUAGE JAVA
NAME 'QRCodeGenerator.getQrCode(java.lang.String) return oracle.sql.BLOB';
/
5)To Use the funtion :
select getQRCode('Sample text') qrcode from dual;
6) If You Are using it in report use this in Description of xml tag.
<fo:instream-foreign-object content-type=”image/jpg”
height=”3.2 in” width=”3.2 in”><xsl:value-of select=”.//QRCODE”/></fo:instream-foreign-object>
Comments
Post a Comment