Wednesday, April 18, 2012

Fetching the image field stored as a BLOB in oracle

In MySQL, all the image types (jpeg, gif, png, bmp) can be fetched easily by drag-drop of the BLOB field.

In Oracle though, none of the images can be fetched like this. As a workaround, the image types other than bmp, can be fetched following the steps below:

1. Connect to the database and write a query that fetches the BLOB field. Preview it to check if the query fetches any data.

2. Right click on the "functions" header and add a new function.

3. In the dialog box for the New Function, double click on the "Scripts" and select the BHSExpression. Click "OK".

4. In the "Expression" field for the "BHSExpression", copy the following code:

Object getValue()
var blobObject = dataRow.get("BLOB_COL");
long blobLength = blobObject.length();
byte[] blobContent = blobObject.getBytes((long)1, (int)blobLength);
return Toolkit.getDefaultToolkit().createImage(blobContent);

This Javascript code will convert the BLOB field to an image field where BLOB_COL is the column name.

5. Drag and drop the BLOB field in the canvas and map the Attribute->field to the BHSEpression.

6. Previewing it will show the image fields in the canvas.

This workaround is not useful for bmp stored as BLOB in Oracle.

If you want to set dynamic size for blob image field then set aspect ration and scale is true in style--- object property & also set invisible-consume-space = true in size&position property

resource :-

Hide new report, analysis view, manage content button in Pentaho User console

If you want to hide Buttons for New Report analysis view , Manage Content then make changes as below.

Before changes :-

Step -1 ) go to biserver-ce\tomcat\webapps\pentaho\mantle\launch\launch.jsp

Step -2 ) commented following code in launch.jsp (from line number 397 to 418 )

List buttonIds = new ArrayList();
buttonIds.add("launch_new_report"); //$NON-NLS-1$
buttonIds.add("launch_new_analysis"); //$NON-NLS-1$
buttonIds.add("manage_content"); //$NON-NLS-1$

ButtonInfo newReportButton = new ButtonInfo();
newReportButton.buttonCommand = "openWAQR()"; //$NON-NLS-1$
newReportButton.buttonLabel = Messages.getString( "UI.PUC.LAUNCH.NEW_REPORT" ); //$NON-NLS-1$
newReportButton.buttonImage = "images/btn_ql_newreport.png"; //$NON-NLS-1$
buttonOverlays.put(buttonIds.get(0), newReportButton);

ButtonInfo newAnalysisButton = new ButtonInfo();
newAnalysisButton.buttonCommand = "openAnalysis()"; //$NON-NLS-1$
newAnalysisButton.buttonLabel = Messages.getString( "UI.PUC.LAUNCH.NEW_ANALYSIS" ); //$NON-NLS-1$
newAnalysisButton.buttonImage = "images/btn_ql_newanalysis.png"; //$NON-NLS-1$
buttonOverlays.put(buttonIds.get(1), newAnalysisButton);

ButtonInfo launchContentButton = new ButtonInfo();
launchContentButton.buttonCommand = "openManage()"; //$NON-NLS-1$
launchContentButton.buttonLabel = Messages.getString( "UI.PUC.LAUNCH.MANAGE_CONTENT" ); //$NON-NLS-1$
launchContentButton.buttonImage = "images/btn_ql_manage.png"; //$NON-NLS-1$
buttonOverlays.put(buttonIds.get(2), launchContentButton);

Step - 3) remove image tag from below code (line number 497)

td class="ql_icon_bar_left"

img src="images/ql_icon_bar_left.png" width="41" height="147"

Step - 4) remove class tag from below code (line number 500)

td class="ql_icon_bar_middle"

Step - 5) remove image tag from below code (line number 532)

td class="ql_icon_bar_right"

img src="images/ql_icon_bar_right.png" width="41" height="147"

After above successful changes clear cache of your browser and refresh.
Buttons will remove successfully.

After Successfully changes :-

Create MongoDB service in Windows OS

1) Open Command Prompt 2) Create directory for Database and Logs                    mkdir c:\data\db                     mkdir c:\...