Click here to Skip to main content
15,899,679 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi All,

I have one problem.

I need to call a stored procedure in SQL server from Unix box using java code.
Can some one help me.

In SQL i know the database name,user name,password,stored procedure name as well as the parameters.

Please let me know if you know any drivers/way of doing it.


Thanks and regards,
Sushil
Posted

Hi All,

Thanks for all the replies. I have found the solution myself.

Java
/**
 * Program to connect to SQL server which will trigger stored procedure 
 */
import java.sql.*;
class ConnectMSSQLServer
{
   public void dbConnect(String db_connect_string,String user,String password)
   {
      try 
      {
         Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
         Connection conn = DriverManager.getConnection(db_connect_string,user,password);       
         System.out.println("---------connected-----");
         CallableStatement strd_prod = conn.prepareCall("{call dbo.Stored_Procedure_name('param1','param2','param3',..)}");
         int i = strd_prod.executeUpdate();
         conn.close();
         System.out.println(i);    
      } 
      catch (Exception e) 
      {
         e.printStackTrace();
      }
   }     
   public static void main(String[] args)
   {
	   ConnectMSSQLServer connServer = new ConnectMSSQLServer();       
	   connServer.dbConnect("jdbc:sqlserver://Server_Name;databaseName=database_name","user_name","password");
   }
}

If you have server name like myServer/Instance_name then you have to use escape characters like this

Java
connServer.dbConnect("jdbc:sqlserver://Server_Name\\Instance_name;databaseName=database_name","user_name","password");

To get the JDBC driver follow the below link.

http://msdn.microsoft.com/en-us/sqlserver/aa937724[^]

Thanks
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900