0
У меня есть доступ к хранимой процедуре на сервере SQL, который имеет один параметр, и я могу легко запустить его на SQL клиента следующим образом:Вызов хранимой процедуры MSSQL в Java
exec sp_name "2016/11/01"
Теперь я хочу сделать то же самое в java.
PreparedStatement ps = conn.prepareStatement("sp_name ?");
ps.setString(1, "2016/11/01");
ResultSet rs = ps.executeQuery();
В rs
можно увидеть имена столбцов, но нулевая строка возвращается. Я думаю, что это из-за параметра хранимой процедуры. Я что-то упустил?
Какой тип одного параметра? В любом случае, я предлагаю вам использовать [CallableStatement] (https://docs.oracle.com/javase/7/docs/api/java/sql/CallableStatement.html). Кроме того, проблема может быть в самом SP ... PS: лучше использовать форматирование форматирования ISO для дат, использовать форматы «YYYYMMDD» или «YYYY-MM-DD» в вызовах SQL Server. –
Ну, я не знаю тип, потому что у меня нет доступа к источнику SP. –
Возможно, попробуйте параметр '(java.sql.) Date'? –