Aufrufen von SQL Server gespeicherten Prozedur in java-mit dem Ergebnis eingestellt, und die input -, output-Parameter?

In Oracle kann ich Folgendes verwenden:

    String query = "{ ? = call get_config_func( ?, ? ) }";
    try
    {
        CallableStatement cs = con.prepareCall( query );
        cs.registerOutParameter(1, OracleTypes.CURSOR);
        cs.setInt( 2, i );
        cs.registerOutParameter(3, java.sql.types.INTEGER);
        cs.execute();
        ResultSet results = ((OracleCallableStatement)cs).getCursor (1);
        String val = cs.getString(3);

        if( results != null)
        {
            while( results.next() )
            {
             .....

Jedoch bin ich fest mit dem Verweis auf Oracle, die nicht mit SQL Server arbeiten.

Ich habe versucht, die folgenden:

    String query = "{ call uspGetLastLocation( ?, ? }";
    try
    {
        cs = con.prepareCall( query );
        cs.setLong(1, id );
        cs.registerOutParameter(2, java.sql.Types.VARCHAR );
        rs = cs.executeQuery();

        while(rs.next())
        {
            .....

Aber ich bekomme die folgende Fehlermeldung

Falsche syntax in der Nähe von '{'.

Habe ich schon Beispiele gesehen, mit PreparedStatement statt CallableStatement und ändern Sie die Abfrage, um

    String query = "EXEC uspGetLastLocation  ?, ?";

Aber ich kann nicht herausfinden, wie man mit den Output-parameter.

Anregungen oder ein Zeiger auf eine Referenz?

Dank.

InformationsquelleAutor Burferd | 2012-01-24

Schreibe einen Kommentar