Monday, October 18, 2010

PLSQL Developer Error - SQL*Net not properly installed [SOLVED]

Hello friends..

If you are using PLSQL developer to connect to the ORACLE database may have faced the problem "SQL*Net not properly installed".

This problem occur beacause ORACLE_HOME and the oci.dll path location may not have been configured in the preferences.

To do this, go to Tools>Preferences.

Now set the Oracle Home as the location of the ORACLE_HOME variable or where the Oracle is installed. In my case it is:

C:\Oracle\DataBase\product\10.2.0\db_1

After this set the oci.dll file location just under the Oracle Home text field.In my case it is:

C:\Oracle\DataBase\product\10.2.0\db_1\bin\oci.dll

click Apply>OK

Now restart the PLSQL developer. This should solve the problem.

Cheers..

Saturday, October 16, 2010

Eclipse 3.6 Permgen Error [SOLVED]

The latest SUN jdk release is the 21 update. As you all have noticed the eclipse 3.6 running under this jvm crashes due to permgen error when you try to run it. The reason behind it is that with Oracle/Sun JDK 1.6.0_21 (July 2010), the eclipse launcher cannot detect a Oracle/Sun VM, and therefore does not use the correct PermGen size.

If you are using either of this version, you have to add the Permgen size as below.



-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-XX:MaxPermSize=512m
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m


This will solve the annoying Permgen error in your eclipse.

Cheers...

Tuesday, October 12, 2010

Basic Encryption Using SHA Algorithm In JAVA



package com.java.discussions101;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;


import sun.misc.BASE64Encoder;

public class Encryptor {
public static void main(String args[]){

String password="discussions101";

MessageDigest md = null;
try{
md = MessageDigest.getInstance("SHA");
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
}
try{
md.update(password.getBytes("UTF-8"));
}catch(UnsupportedEncodingException e){
e.printStackTrace();
}

byte raw[] = md.digest();
String hash = (new BASE64Encoder()).encode(raw);

System.out.println("Encrypted Password is : "+hash);
}

}



The Output is : "Encrypted Password is : yCYUi6yitVBINR/HKKdIj47alYM="


This program can be used for password authentication in user verification or in many purposes. Another good thing about this technique is that you can not get the original password back in form after encryption is done.

You may try the program backwards to check it out.

Cheers.....