Ich verwende die Version sqljdbc4.jar (sqljdbc_2.0).SQLServerException: Die Anweisung gab kein Ergebnis zurück, wenn SQL ausgeführt wurde
ich einen Einsatz bin Ausführung + eine ausgewählte zurück, um die Identität wie folgt zu erhalten:
BEGIN
INSERT INTO DateRangeOptions (Description,Code)
VALUES ('dateRange.quickPick.option.all','ALL');
SELECT SCOPE_IDENTITY()
END
und ich bekomme:
com.microsoft.sqlserver.jdbc.SQLServerException: The statement did not return a result set.
Die Linie ist:
st.executeQuery(updateQuery)
Irgendwelche Ideen?
Nicht alle Treiber erlauben Anweisungsblöcke, die als eine Abfrage ausgeführt werden. Wenn das in einem und nicht in einem anderen funktioniert, ist das wahrscheinlich der Schuldige. – Donnie
das wäre nicht sehr vorsichtig von Microsoft Donnie, ein ausgewählter scope_identity() muss vor allen anderen Einfügungen und auf einer Verbindung mit der gleichen Job-ID geschehen. Sie können die Abfragen natürlich nacheinander ausführen, aber sie beschränken, wie eine offene Verbindung von Anwendungen verwendet werden kann. Auch SQL Server hat kein Problem, mehrere Abfragen auszuführen, und der Treiber ist nicht T-SQL-fähig, so dass er keine Ahnung hat, was er ausführt. - Vainstah 0 secs ago –