Showing posts with label application. Show all posts
Showing posts with label application. Show all posts

Thursday, August 13, 2009

How to connect Java Application with Oracle Database using JDBC Driver - Part 1

Today I will go through the basic steps to connect a Java Application with Oracle Database using JDBC Driver (Java Database Connectivity). To develop Enterprise Product connectivity of java application and oracle database is essential. When I was new to java, i have faced some problem for java and database connectivity using jdbc. So I want to make all this process bit easier for all the new comer in java and windows platform.






Prerequisites :
Steps for configuring the system and creating DSN (ODBC Data Source):
  1. Install Java Development Kit and Oracle Database.
  2. Place Oracle JDBC Driver (*.jar file) in java runtime folder and java development kit folder . eg: 'C:\Program Files\Java\jre1.6.0\lib\ext' and 'C:\Program Files\Java\jdk1.6.0\jre\lib\ext'.
  3. Create a Data Source Name (DSN) required for database connectivity in windows.
  4. For DSN go to Start->Control Panel->Administrative Tools->Data Sources (ODBC).
  5. ODBC Data Source Administrator will open. Click on the Add button to create a new data source.
  6. Select 'Microsoft ODBC for Oracle' & click Next.
  7. Fill the Data Source Name - name for the data source, Description - Just a simple description, User Name - Oracle Database User name, Server - name of the server where database is installed ,( localhost - if it is installed in the local machine or the IP if the the database is installed in a remote machine). Click OK and close the ODBC Data Source Administrator.

Now, the system is configured to run any java oracle connectivity program.You can start coding the program in any IDE or open a notpad.

Below is the source code of a jdbc program to determine wheather all your setting are OK or not. Compile the program and execute it. If the program is executed without any error or exception and you get 'JDBC Driver loaded' and 'Connected to the Oracle Database' as output then you have done all the setting correctly and you are able to connect to the oracle database through your java program.
If you encounter any problem please get back to me, I will help you to sought out the problem.


Source code :

import java.sql.*;

public class ConnectOracle {

public static void main(String[] args) {
String driver="sun.jdbc.odbc.JdbcOdbcDriver"; //
String cs="jdbc:odbc:connectOracle"; //connectOracle is the data source name
String user = "system"; //username of oracle database
String pwd = "tom"; //password of oracle database
Connection con = null; //connection variable assigned to null
try
{
Class.forName(driver);// for loading the jdbc driver
}
catch(Exception e)
{
System.out.println(e);
}
System.out.println("JDBC Driver loaded");
try
{
con=DriverManager.getConnection(cs,user,pwd);// for establishing connection with database
}
catch(Exception e)
{
System.out.println(e);
}
System.out.println("Connected to the Oracle Database");
try
{
con.close();
}
catch(Exception e)
{
System.out.println(e);
}
}//end of main()
}//end of class()


In my next post we will see how to insert data into Oracle Database through your java program.[link]

Reblog this post [with Zemanta]



(Read more inside ..)

Wednesday, August 12, 2009

Recover or Backup your favourite websites online freely


In present day scenario, you visit a site having some great stuffs you need for you project,presentation etc. Next day when you visit again you might not find the site. Its server might be hacked or for any problem that might not be working.

'Your favorite site is lost. What to do now ?'

The answer is here, I found a nice web application "iterasi.net". Its an online website archiving site. Create backup of any site you want without spending a penny. You have unlimited space to save any number of your favorite sites.

Steps:
  • Just register an account.
  • During registration process download the toolbar or create a bookmark button just by drag and drop.
  • That's it. Start saving the 'web'.

(Read more inside ..)

Monday, August 10, 2009

Google Voice is here say "bye bye to multiple contact numbers"


I found a phone managment service "Google Voice" recently lunched by Google. Presently it is for GrandCentral users and soon it will be available world widely. Now you can join it by invitation only. To get your invitation click here.

This service has awesome features:

  • Just one "Google Number" for all calls and SMS. A single number to ring your home, work, and mobile phones, a central voicemail inbox that you could access on the web, and the ability to screen calls by listening in live as callers leave a voicemail.
  • Google Voicemail as easy as email, with transcripts.
  • Voice Features free calls, conference calling, and many more features.
  • All this services are free.
It can be accessed from voice website, google voice phone system & voice mobile website.

Steps to register:

Video Overview of Google Voice:

(Read more inside ..)

Sunday, August 9, 2009

Broadcast message to all blogging sites and social networks by single click

I have found a new web application "Ping.fm". I think it's very handy and useful for many of us who spend lot of time in publishing message in different blogging and social networking sites like Twitter, FriendFeed, Facebook, MySpace, LinkedIn, Blogger, Flicker ,Gtalk etc. Now you can save your time buddies.

The special feature is that you can post your message from your mobile, e-mail and IM by just one click. Then Ping.fm will broadcast it to all your social networking & blogging sites but before that you have to add your desired sites to the Ping.fm where you want to post your message that's it. (Read more inside ..)

Friday, August 7, 2009

Social networking site for softwares

Social Networking Sites are booming nowadays. Every where you will find social networking sites for teenagers, adults , older ones etc. Have you ever thought of having a social networking site for software. Here is it

.

This site track all the software you are using.You can track your application usage, discover new software, share what you use.So, start tracking all the software of Windows, Web, Linux, Mac OS .

Software tracking
(Read more inside ..)

How to create free online smashing slideshow video

A new web application is digitizing the web "animoto". Its a free web application which provide free online sideshow video creation with all new energizing effects. Every time you create a video you will enjoy all new effects. As it is online so you don't have to worry about the space create as many video as you can, its all free.


Steps:
  • Just have to upload your desired pictures from you computer.You can add text slides there also.
.
  • After that you have to select music from their collection or you can upload it.Its depends on you choice.

  • Customize the video.
  • Fill the title and description of the video and that's it.you are done.

  • After this when you video creation is in process , go and can create a new one you don't have to wait for that video to finish. It will send you an e-mail with the video after the processing is done.
  • Suppose you don't like the effects you can edit or remix it once again by just one click on Video Toolbar and can share it on Facebook, Youtube, Twitter, Myspace , etc all this features are embedded in it.


Here is the video created by animoto:

(Read more inside ..)

Wednesday, August 5, 2009

How to send file to mobile from computer using java application through bluetooth

Here is the source code for the sending files to mobiles from computer/pc using java application or j2me code through bluetooth as transmission medium.Many of us means amateur java and j2me programmer find it difficult to use bluetooth in java application as java development kit has no bluetooth library to use. As I have mentioned in my previous posts Bluecove is a J2SR-82 project meant for acessing bluetooth stack from java (java standard edition) .





So, for sending files from pc to mobile using java application through bluetooth. You must download Bluecove() and place it in both the runtime library extension folder of jre and jdk i.e "C:\Programs Files \Java\jre1.6.0\lib\ext" and "C:\Programs Files \Java\jdk1.6.0\jre\lib\ext" or the place where you have installed java under that find these two paths "jre1.6.0\lib\ext" and "jdk1.6.0\jre\lib\ext".

Before starting you must have bluetooth stack installed in your computer as mentioned in my previous post "Bluetooth Mobile Webcam - A Java & J2me based Project"


Change one thing in the code :

"File file = new File("D:/cmd.jpg");
InputStream is = new FileInputStream(file);
byte filebytes[] = new byte[is.available()];
is.read(filebytes);
is.close();"

Find this part in the code "File file = new File("D:/cmd.jpg")" and change the file path to your desired file path that you want to send to mobile.
eg: C:\test.txt

Now, compile this code and run it ....
Source Code Started:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Vector;

import javax.bluetooth.DataElement;
import javax.bluetooth.DeviceClass;
import javax.bluetooth.DiscoveryAgent;
import javax.bluetooth.DiscoveryListener;
import javax.bluetooth.LocalDevice;
import javax.bluetooth.RemoteDevice;
import javax.bluetooth.ServiceRecord;
import javax.bluetooth.UUID;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.obex.ClientSession;
import javax.obex.HeaderSet;
import javax.obex.Operation;


/**
*
* Class that discovers all bluetooth devices in the neighbourhood,
*
* Connects to the chosen device and checks for the presence of OBEX push service in it.
* and displays their name and bluetooth address.
*
*
*/
public class BluetoothServiceDiscovery implements DiscoveryListener{
//object used for waiting
private static Object lock=new Object();
//vector containing the devices discovered
private static Vector vecDevices=new Vector();
//vector containing the services discovered
private static Vector vecServices=new Vector();
private static String connectionURL=null;

/**
* Entry point.
*/
public static void main(String[] args) throws IOException
{
BluetoothServiceDiscovery bluetoothServiceDiscovery=new BluetoothServiceDiscovery();
//display local device address and name
LocalDevice localDevice = LocalDevice.getLocalDevice();
System.out.println("Address: "+localDevice.getBluetoothAddress());
System.out.println("Name: "+localDevice.getFriendlyName());
//find devices
DiscoveryAgent agent = localDevice.getDiscoveryAgent();
System.out.println("Starting device inquiry...");
agent.startInquiry(DiscoveryAgent.GIAC, bluetoothServiceDiscovery);
try {
synchronized(lock){
lock.wait();
}
}
catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Device Inquiry Completed. ");
//print all devices in vecDevices
int deviceCount=vecDevices.size();
if(deviceCount <= 0){
System.out.println("No Devices Found .");
}
else{
//print bluetooth device addresses and names in the format [ No. address (name) ]
System.out.println("Bluetooth Devices: ");
for (int i = 0; i < devicecount; i++)
RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(i);
System.out.println((i+1)+". "+remoteDevice.getBluetoothAddress());//+" ("+remoteDevice.getFriendlyName(true)+")");
}
}

// System.out.print("Choose the device to search for Obex Push service : ");
// BufferedReader bReader=new BufferedReader(new InputStreamReader(System.in));
// String chosenIndex=bReader.readLine();
// System.out.println(chosenIndex);

// int index=Integer.parseInt(chosenIndex);

// System.out.println(chosenIndex);

for(int j = 0; j < deviceCount; j++)
{
//check for obex service
RemoteDevice remoteDevice=(RemoteDevice)vecDevices.elementAt(j);

UUID[] uuidSet = {new UUID("1105", true)};


int[] attrSet = {0x0100, 0x0003, 0x0004};
System.out.println("\nSearching for service...");

int transID = agent.searchServices(attrSet,uuidSet,remoteDevice,bluetoothServiceDiscovery);
System.out.println("Service Search in Progress ("+transID+")");
try {
synchronized(lock)
{
lock.wait();
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}

//System.out.println("Service Discovery Completed. ");


System.out.println("Opening a connection with the server.... ");
// connection creation & sending file
try
{
Connection connection = Connector.open(connectionURL);
System.out.println("Connection obtained");

ClientSession cs = (ClientSession)connection;
HeaderSet hs = cs.createHeaderSet();

cs.connect(hs);
System.out.println("OBEX session created");

//System.out.println("Response code of the server after connect..." +hs.getResponseCode());

File file = new File("D:/cmd.jpg");
InputStream is = new FileInputStream(file);
byte filebytes[] = new byte[is.available()];
is.read(filebytes);
is.close();

hs = cs.createHeaderSet();
hs.setHeader(HeaderSet.NAME, file.getName());
hs.setHeader(HeaderSet.TYPE, "image/jpeg");
hs.setHeader(HeaderSet.LENGTH, new Long(filebytes.length));

Operation putOperation = cs.put(hs);
System.out.println("Pushing file: " + file.getName());
System.out.println("Total file size: " + filebytes.length + " bytes");

OutputStream outputStream = putOperation.openOutputStream();
outputStream.write(filebytes);
System.out.println("File push complete");

outputStream.close();
putOperation.close();

cs.disconnect(null);

connection.close();
}
catch(Exception e)
{
System.out.println("connection:"+e);
}
}


}
/**
* Called when a bluetooth device is discovered.
* Used for device search.
*/
public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) {
//add the device to the vector
if(!vecDevices.contains(btDevice))
{
vecDevices.addElement(btDevice);
}
}
/**
* Called when a bluetooth service is discovered.
* Used for service search.
*/
public void servicesDiscovered(int transID, ServiceRecord[] servRecord) {
/*if(servRecord!=null && servRecord.length>0)
{
connectionURL=servRecord[0].getConnectionURL(0,false);
System.out.println(connectionURL+"--"+servRecord);
}*/
for(int i = 0; i < servRecord.length; i++)
{
//vecServices=servRecord[i].getConnectionURL(0,false);
DataElement serviceNameElement = servRecord[i].getAttributeValue(0x0100);
String _serviceName = (String)serviceNameElement.getValue();
String serviceName = _serviceName.trim();
System.out.println(_serviceName);

if(serviceName.equals("OBEX Object Push"))
{

System.out.println("[client:] A matching service has been found\n");

try
{
connectionURL = servRecord[i].getConnectionURL(0,false);
System.out.println(connectionURL+"\n");
} catch (Exception e)
{
System.out.println("[client:] oops");
}
}
}


}
/**
* Called when the service search is over.
*/
public void serviceSearchCompleted(int transID, int respCode) {
/*synchronized(lock)
{
lock.notify();
}*/
String searchStatus = null;

if (respCode == DiscoveryListener.SERVICE_SEARCH_DEVICE_NOT_REACHABLE) {
searchStatus = "SERVICE_SEARCH_DEVICE_NOT_REACHABLE\n";
}
else if (respCode == DiscoveryListener.SERVICE_SEARCH_NO_RECORDS) {
searchStatus = "SERVICE_SEARCH_NO_RECORDS\n";
}
else if (respCode == DiscoveryListener.SERVICE_SEARCH_COMPLETED) {
searchStatus = "SERVICE_SEARCH_COMPLETED\n";
}
else if (respCode == DiscoveryListener.SERVICE_SEARCH_TERMINATED) {
searchStatus = "SERVICE_SEARCH_TERMINATED\n";
}
else if (respCode == DiscoveryListener.SERVICE_SEARCH_ERROR) {
searchStatus = "SERVICE_SEARCH_ERROR\n";
}

System.out.println("[client:] " + searchStatus);

synchronized(lock)
{
lock.notify();
}
}
/**
* Called when the device search is over.
*/
public void inquiryCompleted(int discType) {

switch (discType)
{
case DiscoveryListener.INQUIRY_COMPLETED :
System.out.println("INQUIRY_COMPLETED");
break;
case DiscoveryListener.INQUIRY_TERMINATED :
System.out.println("INQUIRY_TERMINATED");
break;
case DiscoveryListener.INQUIRY_ERROR :
System.out.println("INQUIRY_ERROR");
break;
default :
System.out.println("Unknown Response Code");
break;
}
synchronized(lock)
{
lock.notify();
}
}//end method
}//end class



(Read more inside ..)

Wednesday, May 27, 2009

Yahoo Widgets - CPU Usage

Here is a new Yahoo Widget "CPU Usage" an small application for your computer powered by Yahoo. It shows the current CPU Load of your computer & some nice animation by clicking on the main dial of the widget .Its d developmental version so a lot of exiciting animations and features are coming up soon. Start enjoying it
(Read more inside ..)