SAK 図書館
JAVA Servlet、JSP + PostgreSQL 編4 - JDBC、ストアド呼び出し、PL/pgSQL
■ストアド呼び出し(JSP) ・CallableStatement で、ストアドが呼び出せるはずなのだが、PostgreSQL ではサポートされていないようである。(Oracle では使用できる。) とりあえず、通常の select でストアドを呼び出すことはできる。 ただ、ストアドの引数に値を戻してくるタイプは、これではまずい。 <%@ page import="java.util.*,java.sql.*;" contentType="text/html; charset=Shift_JIS"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>JAVA Server Page(JSP) - PostgreSQL JDBC Test</TITLE> </HEAD> <BODY> <P>JAVA Server Page(JSP) - PostgreSQL JDBC Test</P> <% String drv = "org.postgresql.Driver"; String dsn = "jdbc:postgresql://localhost:5432/sak?user=sak&password=sak"; String sql = "select gettest1"; Connection cn = null; Statement st = null; ResultSet rs = null; // PostgreSQL JDBC ドライバロード try { Class.forName(drv); } catch (Exception e) { out.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>"); } // PostgreSQL JDBC 接続 try { cn = DriverManager.getConnection(dsn); } catch (Exception e) { out.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>"); } // PostgreSQL JDBC 問い合わせ SQL 作成 try { st = cn.createStatement(); } catch (Exception e) { out.println("<P>JDBC 問い合わせ SQL 作成エラー<BR>" + e.toString() + "</P>"); } // PostgreSQL JDBC PL/pgSQL ストアド呼び出し try { rs = st.executeQuery(sql + "('a001')"); } catch (Exception e) { out.println("<P>JDBC PL/pgSQL ストアド呼び出しエラー<BR>" + e.toString() + "</P>"); } // PostgreSQL JDBC PL/pgSQL ストアド戻り値取得 try { while (rs.next()) { out.println("<P>ストアド戻り値 = " + rs.getString(1) + "</P>"); } } catch (Exception e) { out.println("<P>JDBC PL/pgSQL ストアド戻り値取得エラー<BR>" + e.toString() + "</P>"); } // PostgreSQL JDBC レコードセットクローズ try { rs.close(); } catch (Exception e) {} // PostgreSQL JDBC ステートメントクローズ try { st.close(); } catch (Exception e) {} // PostgreSQL JDBC 接続クローズ try { cn.close(); } catch (Exception e) {} %> </BODY> </HTML> ■JAVA Servlet、JSP + PostgreSQL 編資料
■JAVA Servlet、JSP + Oracle9i 編資料
■JAVA Servlet、JSP 基礎編資料
■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料