0
aufrufen ich Zugriff auf eine gespeicherte Prozedur auf einem SQL-Server haben, die einen Parameter hat, und ich kann es auf dem SQL-Client wie folgt leicht auszuführen:eine MSSQL Stored Procedure in Java
exec sp_name "2016/11/01"
Jetzt will ich tun das gleiche in Java.
PreparedStatement ps = conn.prepareStatement("sp_name ?");
ps.setString(1, "2016/11/01");
ResultSet rs = ps.executeQuery();
In rs
ich den Spalten Namen sehen können, aber Null-Zeile zurückgegeben wird. Ich denke, es ist wegen der Parameter der gespeicherten Prozedur. Fehle ich hier etwas?
Was ist der Typ des einen Parameter? Trotzdem würde ich vorschlagen, dass Sie stattdessen [CallableStatement] (https://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html) verwenden. Auch könnte das Problem in der SP selbst sein ... PS: besser verwenden Sie ISO-Formatierung Formatierung für Termine, verwenden Sie Formate "YYYYMMDD" oder "YYYY-MM-DD" in SQL Server-Aufrufe. –
Nun, ich kenne den Typ nicht, weil ich keinen Zugriff auf die Quelle des SP habe. –
Vielleicht versuchen Sie mit einem '(java.sql.) Date' Parameter? –