Unable to connect to Oracle database running on Windows machine from linux.

Hi,

I'm not able to connect to oracle database running on Windows machine from Linux machine. I'm geting the below mentioned error. I have given below the code I used to connect to database and database propertes.Do I need to use any specific driver?

Please help me.

Thanks,

Sunjyoti

Code :

import oracle.jdbc.pool.OracleDataSource;

import java.sql.Connection;

import java.util.*;

import java.sql.*;

import java.io.*;

class try2{

public static void main(String args[]) {

try {

System.out.println("hi");

// Load the properties file to get the connection information

Properties prop = new Properties();

prop.load(new FileInputStream("/home/sreejith/EDIReader/Connection.properties"));

// Create a OracleDataSource instance

OracleDataSource ods = new OracleDataSource();

System.out.println("prop is "+prop);

configureDataSource(ods, prop);

Connection conn=null;

// Create a connection object

conn = ods.getConnection();

System.out.println("Connection is"+conn);

// Sets the auto-commit property for the connection to be false.

conn.setAutoCommit(false);

} catch (SQLException sqlEx){ // Handle SQL Errors

System.out.println("In exception "+sqlEx);

} catch(Exception excep) { // Handle other errors

System.out.println(" Exception "+ excep.toString());

}

}

private static void configureDataSource(OracleDataSource ods, Properties prop) {

// Database Host Name

ods.setServerName(prop.getProperty("HostName"));

// Set the database SID

ods.setDatabaseName(prop.getProperty("SID"));

// Set database port

ods.setPortNumber( new Integer( prop.getProperty("Port") ).intValue());

// Set the driver type

ods.setDriverType ("thin");

// Sets the user name

ods.setUser(prop.getProperty("UserName"));

// Sets the password

ods.setPassword(prop.getProperty("Password"));

}

}

Connection properties :

# Your Database Connection details

HostName= 10.20.3.19

SID= EDIREAD

Port= 1521

UserName= dbuser

Password= dbuser

Error I'm getting is

error while trying to connect with odbc datasource

[root@iflexpau2217 EDIReader]# java try2

hi

prop is {HostName=10.20.3.19, Password=dbuser, UserName=dbuser, SID=EDIREAD, Port=1521}

In exception java.sql.SQLException: Io exception: The Network Adapter could not establish the connection

Also I tried to connect with weblogic JDBC driver

Code is here:

import java.io.BufferedReader;

import java.io.ByteArrayInputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.IOException;

import java.sql.Blob;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

//import com.entrust.toolkit.util.ByteArray;

public class trial{

public static void main(String args[]) throws IOException{

System.out.println("hi");

Connection p_conn = null;

PreparedStatement xml_insert = null;

try {

// Load the JDBC driver

System.out.println("hi2");

// String driverName = "oracle.jdbc.driver.OracleDriver";

String driverName = "weblogic.jdbc.oracle.OracleDriver";

System.out.println("hi2");

Class.forName(driverName);

// Create a connection to the database

String serverName = "10.20.3.19";

String portNumber = "1521";

String sid = "EDIREAD";

//String url = "jdbc:oracle:thin:@" + serverName + ":" + portNumber + ":" + sid;

String url = "jdbc:bea:oracle://10.20.3.19:1521";

String username = "dbuser";

String password = "dbuser";

System.out.println("connection is:"+p_conn+"user name is"+username+"password is"+password);

p_conn = DriverManager.getConnection(url, username, password);

System.out.println("connection is:"+p_conn+"user name is"+username+"password is"+password);

xml_insert=p_conn.prepareStatement("insert into PRTB_SUBUNIT (SUBUNT_ID,SUBUNT_SUB_UNIT,SUBUNT_PHYUNT_ID) values (?,?,?)");

//InputStream in=null;

File l_file=new File("/home/sreejith/EDIReader/propertyfiles/inputfile/BUG_10802_ES_CSB19_68.txt");

BufferedReader input =null;

input=new BufferedReader(new FileReader(l_file));

String line = null;

StringBuffer trial=new StringBuffer();

while (( line = input.readLine()) != null){

trial.append(line);

trial.append(System.getProperty("line.separator"));

}

//InputStream is = new BufferedInputStream(new FileInputStream(l_file));

System.out.println(trial.toString());

//Blob b ;

//byte[] bytes=trial.toString().getBytes();

//System.out.println("Size-->"+bytes.length);

xml_insert.setString(1,new String("SpecailChar"));

//xml_insert.setBinaryStream(2,new ByteArrayInputStream(bytes),15920);

xml_insert.setString(3,"SpecailChar");

xml_insert.executeUpdate();

p_conn.commit();

} catch (ClassNotFoundException e) {

System.out.println("ClassNotFoundException:"+e.getMessage());

// Could not find the database driver

} catch (SQLException e) {

System.out.println("SQEXCEPTIN:"+e.getMessage());

// Could not connect to the database

}catch (FileNotFoundException e) {

System.out.println("filenot found:"+e.getMessage());

// Could not connect to the database

}

}

}

Error I'm getting is

error while trying with jdbc:

SQEXCEPTIN:[BEA][Oracle JDBC Driver]Error establishing socket to host and port: 10.20.3.19:1521. Reason: Connection refused

[5895 byte] By [Sunjyotia] at [2007-11-26 17:44:15]
# 1
Is the Windows firewall active? Have you enabled the port on the firewall, if it is?
masijade.a at 2007-7-9 0:12:26 > top of Java-index,Database Connectivity,Java Database Connectivity (JDBC)...