[英]How can I execute a stored procedure with JDBC / jTDS without using a transaction?
[英]How do I execute a stored procedure without parameters in JDBC?
我正在嘗試執行沒有輸入變量的存儲過程,例如:
String sql2 = "{call vivek}" ;
System.out.println(sql2);
System.out.println("Executing procedure without parameters");
stmt = conn.createStatement();
stmt.executeQuery(sql2);
但它拋出一個錯誤說:
syntax error at or near "{"
Position: 1
我試圖用谷歌搜索它,但找不到任何東西。 我該怎么做 ? 順便說一句,它也不適用於 callablestatement
未測試:
CallableStatement cs = null;
cs = conn.prepareCall("{call vivek}");
cs.executeQuery();
http://docs.oracle.com/javase/tutorial/jdbc/basics/storedprocedures.html
找不到存儲過程? 當您收到此錯誤時,我將解釋這意味着什么。 假設我們的代碼是這樣的:
String sp="{call GetUnitReferenceMap}";
stmt=conn.prepareCall(sp);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
currencyMap.put(rs.getString(1).trim(), rs.getString(2).trim());
我有 4 個 DB(sample1、sample2、sample3),但是stmt
將搜索位置master
數據庫(默認數據庫)然后我們會得到一個異常。
我們應該提供數據庫名稱,然后問題將得到解決::
String sp="{call sample1..GetUnitReferenceMap}";
感謝大家的幫助,但以下代碼對我有用:
sql2 += "{exec "+ proc_name2 +"}" ;
cstmt = conn.prepareCall(sql2);
cstmt.executeUpdate();
順便說一下,這里的 cstmt 是 CallableStatement 對象。 我正在使用 Postgresql 數據庫,因此上面的代碼對我有用
這類似於調用不帶參數的函數。
CallableStatement cat = null;
con = YourConnectionClass.getConnection();
cst = con.prepareCall("{call YOUR_PROCEDURE_NAME()}");
cst.executeQuery();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.