Zugriff auf Prozeduren in MS SQL Datenbank

Toastbrot666

Grünschnabel
Hallo, ich habe ein kleines Java-Tool geschrieben welches sich mit Tabellen in unterschiedlichen MS SQL Datenbanken beschäftigt.

Jetzt möchte ich natürlich auch Prozeduren etc. dort ausführen. Hab jetzt schon ein bisserl was gelesen, hab keine Ahnung wie ich aus meinem Java Client aus zugriff auf die Prozeduren bekomme.

Wäre nett, wenn mir jemand sagen könnte wie das möglich ist und wie ich das machen könnte.

Vielen dank

Toasty
 
Hallo!

Schau doch mal hier:
Code:
/**
 * 
 */
package de.tutorials;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Types;

import net.sourceforge.jtds.jdbcx.JtdsDataSource;

/**
 * @author Darimont
 * 
 */
public class MSSQLServerStoredProcedureCallExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {

		Class.forName("net.sourceforge.jtds.jdbc.Driver");

		JtdsDataSource ds = new JtdsDataSource();
		ds.setServerName("localhost");
		ds.setPortNumber(1433);
		ds.setUser("tom");
		ds.setPassword("foobar");
		ds.setDatabaseName("nordwind");

		Connection con = ds.getConnection();

		try {

			/*
			 * 
			CREATE PROCEDURE [dbo].[simpleDoubler] @value int, @retValue int OUTPUT AS
			SELECT @retValue= 2 * @value;
			GO
			 * 
			 */

			CallableStatement callableStatement = con
					.prepareCall("dbo.simpleDoubler(@value=?,@retValue=?)");

			callableStatement.setInt("@value", 1000);
			callableStatement.registerOutParameter("@retValue", Types.INTEGER);

			callableStatement.execute();

			callableStatement.getMoreResults();

			int result = callableStatement.getInt("@retValue");

			System.out.println(result);

		} finally {
			if (con != null)
				con.close();
		}
	}
}

Gruß Tom
 
Zurück