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

Popular posts from this blog

opaque schema xsd (standard file used in OIC)

SQL,PLSQL interview practice and DSA patterns